QMAKE_EXTRA_COMPILERS -depend_command过滤不存在​​的文件

时间:2019-02-11 09:36:19

标签: qt qmake

我们有一个自定义的编译器,可以从DSL生成c ++源代码(标头+源)。这些可能相互依赖,从而导致一些问题。

当生成的文件已经存在时,一切都很好-在这种情况下,qmake可以生成依赖项本身。 但是,如果在没有生成源的情况下运行qmake,这将无法正常工作,并且在编译时会出现“无此类文件或目录”的问题。

在大多数情况下,将生成的源/标头添加到target_predeps也不起作用(在大多数情况下),因为使用多个线程进行jom操作,并且在编译开始时源生成尚未完成。

因此,我尝试将这些依赖项注入到Makefile中。 我修改了自定义编译器,以便它可以为给定的输入文件生成一个依赖项列表,并尝试使用dependent_command进行调用。 同样,当已经生成源但在干净的构建中,qmake可以很好地过滤掉那些尚未生成的依赖项。

即使文件尚不存在,是否存在一些隐藏标志来告诉qmake采取这些依赖关系?

编辑:显然,此问题在Qt 5.12上已得到修复,但我坚持使用5.9并寻找解决方法。

0 个答案:

没有答案