如何将 QMAKE_EXTRA_TARGETS 与 SUBDIRS 一起使用?

How to use QMAKE_EXTRA_TARGETS with SUBDIRS?

我想提供一个 make 目标,它应该是可选的,并且只有在您明确指定它时才会在正常构建过程中执行。通常你这样指定:

QMAKE_EXTRA_TARGETS += fooTarget

后面是这样执行的:

make fooTarget

但是我的项目是一个子目录项目。目标只对顶层项目执行,不对子项目执行。

您必须在顶级项目文件中将目标标记为递归:

fooTarget.CONFIG = recursive

现在当您 运行 make fooTarget 时,它将为每个子项目(但不是他们的子项目)执行。如果目标在一个子项目中不存在,make 将失败。行为可以更改为仅在某些目录上执行目标或为子项目调用不同的目标。请参阅 qmake 文档中的 Adding Custom Targets