在构建主目标之前,Qmake 在阻塞主目标的同时构建另一个源

问题描述

在 qmake 执行自己的执行以构建主要目标之前,我想清理编译另一个不同的源并安装其库。下面的链接解释的很好,但是我遇到的问题是我想生成多个头文件和库,我想让那个构建阻止qmake操作。在我看来,使用这两种方法都不会阻止主 qmake 执行。

PRE_TARGETDEPS fails when using parallel builds

方法一(main-app.pro):

...
extralib.target = extra
extralib.commands = cd $$ANOTHER_PROJECT_DIR; \   
                    make clean && make && make install; \

extralib.depends = FORCE
QMAKE_EXTRA_TARGETS += extralib
PRE_TARGETDEPS = extra

方法 2 (main-app.pro):

...
TO_GENERATE = $$HOME/myapi/include/a.h $$HOME/myapi/include/b.h

custom_generator.output  = $$HOME/myapi/include/a.h $$HOME/myapi/include/b.h
custom_generator.commands = cd $$ANOTHER_PROJECT_DIR; \
                            make clean && make && make install;
custom_generator.depends = FORCE
custom_generator.input = TO_GENERATE
custom_generator.variable_out = SOURCES
QMAKE_EXTRA_COMPILERS += custom_generator

在其他所有事情之前,我希望 qmake 进入 $$ANOTHER_PROJECT_DIR,执行 make clean && make && make install,创建 $$HOME/myapi/lib$$HOME/myapi/include,这是我的主要构建所必需的。请记住,我不能使用 SUBDirs,因为库使用 GNU Make,而我的主要构建使用 QMake。

目前发生的是库构建命令被启动,QMake 立即决定继续主构建,而不是等待库完全完成构建和安装。

非常感谢任何建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)