AUTOGEN_ORIGIN_DEPENDS¶
3.14 版新增。
用于将源目标依赖项转发到相应 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_ORIGIN_DEPENDS
目标属性决定是否将源目标依赖项转发到 The <ORIGIN>_autogen target 目标。
默认情况下,AUTOGEN_ORIGIN_DEPENDS
会从 CMAKE_AUTOGEN_ORIGIN_DEPENDS
初始化,该变量默认值为 ON
。
总而言之,The <ORIGIN>_autogen target 目标 的依赖项由以下部分组成:
转发的源目标依赖项(通过
AUTOGEN_ORIGIN_DEPENDS
默认启用)来自
AUTOGEN_TARGET_DEPENDS
的其他用户定义的依赖项
有关将 CMake 与 Qt 结合使用的更多信息,请参阅 cmake-qt(7)
手册。
注意
禁用 AUTOGEN_ORIGIN_DEPENDS
有助于避免在仅构建 The <ORIGIN>_autogen target 目标时构建源目标依赖项。当启用了 global autogen target
时,这一点尤其值得关注。
当 The <ORIGIN>_autogen target 目标不需要源目标的所有依赖项,并且 AUTOGEN_ORIGIN_DEPENDS
被禁用时,可能需要扩展 AUTOGEN_TARGET_DEPENDS
来添加缺失的依赖项。