问题描述
在 qmake 执行自己的执行以构建主要目标之前,我想清理编译另一个不同的源并安装其库。下面的链接解释的很好,但是我遇到的问题是我想生成多个头文件和库,我想让那个构建阻止qmake操作。在我看来,使用这两种方法都不会阻止主 qmake 执行。
PRE_TARGETDEPS fails when using parallel builds
...
extralib.target = extra
extralib.commands = cd $$ANOTHER_PROJECT_DIR; \
make clean && make && make install; \
extralib.depends = FORCE
QMAKE_EXTRA_TARGETS += extralib
PRE_TARGETDEPS = extra
...
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 (将#修改为@)