如何覆盖Qmake的`make dist`默认目标?

时间:2010-08-22 14:41:17

标签: distribution qmake suppress-warnings

在Qt项目中,我需要提供自定义make dist 。所以我在*.pro文件中添加了以下几行:

QMAKE_EXTRA_TARGETS += dist
dist.commands = [...]

虽然有效,但每次运行make时都会显示以下警告:

Makefile:209: warning: overriding commands for target `dist'
Makefile:188: warning: ignoring old commands for target `dist'

除此之外,它的效果非常好,完全覆盖了Qmake的默认make dist目标。但警告真的很烦人。

我可以使用其他目标名称,例如make dist-all,但make dist已建立的标准命令。是否有可能在没有收到警告的情况下覆盖Qmake的make dist

也许我走错了路线?我应该以不同的方式处理这个问题吗?

1 个答案:

答案 0 :(得分:0)

警告由生成而不是qmake生成,因为 dist 定义了两次 - 这是不允许的。如果不重新编译qmake,则无法重新定义dist目标,因为dist目标在 qmake / generators / unix / unixmake.cpp

中进行了硬编码

解决问题,你可以在qmake生成后编辑makefile(使用脚本例如包装qmake调用然后删除标准dist目标)

或使用其他目标名称,例如'myDist'