AUTOGEN_ORIGIN_DEPENDS

3.14 版新增。

用于将源目标的依赖项转发到相应的 <ORIGIN>_autogen 目标。

注意

如果使用 Qt 5.15 或更高版本,并且生成器是 NinjaMakefile Generators,则源目标的依赖项将转发到 <ORIGIN>_autogen_timestamp_deps 目标,而不是 <ORIGIN>_autogen

AUTOMOCAUTOUIC 属性设置为 ON 的目标都有一个相应的 <ORIGIN>_autogen 目标,该目标会生成 mocuic 文件。由于此 <ORIGIN>_autogen 目标在生成时创建,因此无法使用例如 add_dependencies() 来定义它的依赖项。相反,AUTOGEN_ORIGIN_DEPENDS 目标属性决定是否将源目标的依赖项转发到 <ORIGIN>_autogen 目标。

默认情况下,AUTOGEN_ORIGIN_DEPENDSCMAKE_AUTOGEN_ORIGIN_DEPENDS 初始化,该变量默认值为 ON

总的来说,<ORIGIN>_autogen 目标的依赖项由以下几部分组成:

  • 转发的源目标依赖项(默认通过 AUTOGEN_ORIGIN_DEPENDS 启用)

  • 来自 AUTOGEN_TARGET_DEPENDS 的其他用户定义的依赖项

有关将 CMake 与 Qt 结合使用的更多信息,请参阅 cmake-qt(7) 手册。

注意

禁用 AUTOGEN_ORIGIN_DEPENDS 对于避免在仅构建 <ORIGIN>_autogen 目标时构建源目标依赖项很有用。当启用 全局autogen目标 时,这一点尤其值得关注。

<ORIGIN>_autogen 目标不需要源目标的所有依赖项,并且 AUTOGEN_ORIGIN_DEPENDS 被禁用时,可能需要扩展 AUTOGEN_TARGET_DEPENDS 来添加缺失的依赖项。