微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在构建主目标之前,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 举报,一经查实,本站将立刻删除。