【发布时间】:2019-09-05 08:47:37
【问题描述】:
使用Qt 5.12。我一直在尝试让一些 QMake 命令只运行一次(而不是三次)。我找到了this answer,他们在其中使用了!build_pass 条件。所以我将我的工作目录设置如下:
│ subdirs_test.pro
│
└───test
test.pro
test/test.pro 文件仅包含:
!build_pass:message("This message should appear only once")
subdirs_test.pro 包含:
TEMPLATE = subdirs
SUBDIRS = \
test
test.subdir = $$PWD/test
如果我跑:
cd test
qmake -tp vc test.pro
它打印出来了:
Project MESSAGE: This message should appear only once
但如果我运行subdirs 项目:
cd ..
qmake -r -tp vc subsdirs_test.pro
它打印消息两次:
Project MESSAGE: This message should appear only once
Project MESSAGE: This message should appear only once
有没有办法让QMake只运行一次?
【问题讨论】:
-
你能试试吗? !build_pass:CONFIG(debug, debug|release) { message("Hello from build_pass during debug") }
-
问题是消息需要运行一次,无论是选择调试还是发布构建。在您提出的建议中,它确实只会在调试过程中运行一次。但是在 CI 场景中,我们只执行发布传递,那么它就不会运行。