AUTOGEN_TARGET_DEPENDS¶
对应 <ORIGIN>_autogen 目标的附加目标依赖项。
注意
如果使用 Qt 5.15 或更高版本,并且生成器是
Ninja或 Makefile Generators,则会将附加目标依赖项添加到 <ORIGIN>_autogen_timestamp_deps 目标,而不是 <ORIGIN>_autogen 目标。
将其 AUTOMOC 或 AUTOUIC 属性设置为 ON 的目标具有对应的 <ORIGIN>_autogen 目标,该目标会生成 moc 和 uic 文件。由于此 <ORIGIN>_autogen 目标是在生成时创建的,因此无法使用例如 add_dependencies() 来定义其依赖项。取而代之的是,可以将 AUTOGEN_TARGET_DEPENDS 目标属性设置为一个 ;-列表,其中包含 <ORIGIN>_autogen 目标的附加依赖项。依赖项可以是目标名称或文件名。
总的来说,<ORIGIN>_autogen 目标的依赖项由以下几部分组成:
转发的源目标依赖项(默认通过
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 中。