我可以轻松编辑Makefile以添加自定义步骤。例如,我有一行:
first: release
如果我将其更改为
first: pre-build release
然后我将能够在“pre-build:”标签之后进行一些操作。
问题是如何将相应的指令写入.pro文件,强制 qmake 工具在Makefile中生成所需的行?
答案 0 :(得分:1)
您可以使用Makefile
变量向结果QMAKE_EXTRA_TARGETS
添加自定义目标,其中包括:
QMAKE_EXTRA_TARGETS += beforebuild
beforebuild.commands = echo Hello world!
beforebuild.CONFIG = phony
但是,无法将此目标放到first: all
行,除非您修补了qmake
的源代码(请考虑以下代码段: makefile.cpp
:t << "first: " << targets.first()->target << endl
)。
原则上,可能会在all
(或release
/ debug
)与您的beforebuild
目标之间产生某种依赖关系,因此{{1}仍然会自动执行beforebuild
,如this article(俄语)中所述。然而,由此产生的解决方案在我看来太丑陋且容易出错。
我认为简单地执行make
(可能使用shell脚本)要容易得多。除非您使用Qt Creator,否则您应该尝试上面链接中的配方。