AUTOGEN_ORIGIN_DEPENDS

在版本 3.14 中添加。

用于将原始目标依赖项转发到相应的 The <ORIGIN>_autogen target 目标的开关。

注意

如果使用 Qt 5.15 或更高版本,并且生成器是 NinjaMakefile 生成器,那么原始目标依赖项会转发到 The <ORIGIN>_autogen_timestamp_deps target 目标,而不是 The <ORIGIN>_autogen target

具有 AUTOMOCAUTOUIC 属性的目标的值为 ON 的目标有一个对应的 The <ORIGIN>_autogen target 目标,该目标生成 mocuic 文件。由于此 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以添加缺少的依赖项。