AUTOGEN_ORIGIN_DEPENDS¶
在版本 3.14 中添加。
用于将原始目标依赖项转发到相应的 The <ORIGIN>_autogen target 目标的开关。
注意
如果使用 Qt 5.15 或更高版本,并且生成器是
Ninja
或 Makefile 生成器,那么原始目标依赖项会转发到 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(7)
手册了解有关在 Qt 中使用 CMake 的更多信息。
注意
禁用AUTOGEN_ORIGIN_DEPENDS
有助于避免在仅构建目标 <ORIGIN>_autogen时构建源目标依赖项。特别是在启用全局 自动生成 目标
时,十分有意思。
当目标 <ORIGIN>_autogen目标不需要源目标的所有依赖项且禁用AUTOGEN_ORIGIN_DEPENDS
时,可能需要扩展AUTOGEN_TARGET_DEPENDS
以添加缺少的依赖项。