如何使用 qmake 添加自定义构建步骤,而无需重新创建所有目标



下面是添加自定义构建步骤的简单示例:

mytarget.commands = @echo Testing123
QMAKE_EXTRA_TARGETS += mytarget
PRE_TARGETDEPS += mytarget

这将起作用,并按预期打印消息。但是,每次构建时,它也会重新制作项目中的所有目标,这需要几分钟。

如果我取出PRE_TARGETDEPS += mytarget,则不会打印任何消息,并且构建会快速成功,无需更改。但是我需要打印消息。

我需要一个预构建步骤来执行,但如果它们的依赖项没有改变,我不希望重新制作任何其他目标。如何使用qt实现这一目标?

磁盘上必须有一个文件才能使其正常工作:

PRETARGET = .pretarget
!exists($$OUT_PWD/$$PRETARGET):system(touch $$OUT_PWD/$$PRETARGET)
$${PRETARGET}.depends = FORCE # or $${PRETARGET}.CONFIG = phony
$${PRETARGET}.commands = @echo -e "[\e[1m\e[32mTARGET\e[0m] $$OUT_PWD/$(DESTDIR_TARGET)"
QMAKE_EXTRA_TARGETS += $$PRETARGET
PRE_TARGETDEPS += $$PRETARGET

最新更新