我们希望在Windows上使用scons进行构建,主要是因为它的缓存功能(我们在Linux上使用ccache,并且那里的编译速度要快得多)。然而,我们所有的项目都在qmake .pro文件中定义。现在的构建方式是,我们调用qmake来生成一个Makefile,然后用它来构建jm。在高层次上拥有。pro文件是非常实用的,所以我们希望保留它,而不是用SConfigure文件替换。pro文件。所以理想情况下,我们会让qmake生成一个SConfigure文件,就像它现在生成一个Makefile一样,然后在那个SConfigure文件上运行scons。有没有什么东西可以做到这一点,比如qmake的生成器?或者是否有可能将qmake创建的Makefile转换为SConfigure文件?
(我知道scons和qmake的功能重叠,例如依赖生成,它可能会更好地只使用scons本身,然而,qmake对Qt项目工作得很好,也可以生成visual studio文件,所以我们想保留它。)
他们对meta meta make不太满意。然而,正如在被拒绝的合并请求中所建议的那样,使用qmake_substitute可以实现一些非源的功能,但这实际上是一个未记录的特性。
或者您可以按照我尝试的方法直接修改代码。看看https://qt.gitorious.org/~phresnel/qt/add-some-qmake-to-autotools-glue,或者更具体地说,是https://qt.gitorious.org/qt/qt/merge_requests/1040。文件qmake/generators/special/filelist.cpp
完成了大部分工作。
Imho,很遗憾qmake的扩展并不容易;CMake更大的灵活性也是我改用它的原因,我完全放弃了使用qmake。