AUTOGEN_TARGET_DEPENDS¶
对应 The <ORIGIN>_autogen target 的附加目标依赖项。
注意
如果使用 Qt 5.15 或更高版本,并且生成器是
Ninja或 Makefile Generators,则会将附加目标依赖项添加到 The <ORIGIN>_autogen_timestamp_deps target 目标,而不是 The <ORIGIN>_autogen target 目标。
其 AUTOMOC 或 AUTOUIC 属性设置为 ON 的目标拥有一个对应的 The <ORIGIN>_autogen target 目标,该目标生成 moc 和 uic 文件。由于此 The <ORIGIN>_autogen target 目标是在生成时创建的,因此无法使用例如 add_dependencies() 来定义它的依赖项。而是可以将 AUTOGEN_TARGET_DEPENDS 目标属性设置为一个 ;-list,其中包含 The <ORIGIN>_autogen target 目标的其他依赖项。依赖项可以是目标名称或文件名。
总而言之,The <ORIGIN>_autogen target 目标的依赖项由以下几部分组成:
转发的原始目标依赖项(默认通过
AUTOGEN_ORIGIN_DEPENDS启用)来自
AUTOGEN_TARGET_DEPENDS的其他用户定义的依赖项
有关将 CMake 与 Qt 结合使用,请参阅 cmake-qt(7) 手册。
使用场景¶
如果 AUTOMOC 或 AUTOUIC 依赖于以下任一文件:
一个
GENERATED的 C++ 文件,该文件未被AUTOMOC和AUTOUIC识别,因为它被SKIP_AUTOMOC、SKIP_AUTOUIC、SKIP_AUTOGEN或CMP0071跳过,或者一个不在原始目标源文件列表中的文件
它必须被添加到 AUTOGEN_TARGET_DEPENDS 中。