qmake:每个make调用的自定义步骤

时间:2018-04-26 05:46:26

标签: qt qt5 qmake

我可以轻松编辑Makefile以添加自定义步骤。例如,我有一行:

first: release

如果我将其更改为

first: pre-build release

然后我将能够在“pre-build:”标签之后进行一些操作。

问题是如何将相应的指令写入.pro文件,强制 qmake 工具在Makefile中生成所需的行?

1 个答案:

答案 0 :(得分:1)

您可以使用Makefile变量向结果QMAKE_EXTRA_TARGETS添加自定义目标,其中包括:

QMAKE_EXTRA_TARGETS += beforebuild
beforebuild.commands = echo Hello world!
beforebuild.CONFIG = phony

但是,无法将此目标放到first: all行,除非您修补了qmake的源代码(请考虑以下代码段: makefile.cppt << "first: " << targets.first()->target << endl)。

原则上,可能会在all(或release / debug)与您的beforebuild目标之间产生某种依赖关系,因此{{1}仍然会自动执行beforebuild,如this article(俄语)中所述。然而,由此产生的解决方案在我看来太丑陋且容易出错。

我认为简单地执行make(可能使用shell脚本)要容易得多。除非您使用Qt Creator,否则您应该尝试上面链接中的配方。