AUTOGEN_ORIGIN_DEPENDS¶
在 3.14 版本中添加。
用于将原始目标依赖项转发到相应的 <ORIGIN>_autogen 目标 目标的开关。
注意
如果使用 Qt 5.15 或更高版本,且生成器为
Ninja
或 Makefile 生成器,则原始目标依赖项将转发到 <ORIGIN>_autogen_timestamp_deps 目标 目标,而不是 <ORIGIN>_autogen 目标
具有 AUTOMOC
或 AUTOUIC
属性为 ON
的目标,具有相应的 <ORIGIN>_autogen 目标 目标,该目标生成 moc
和 uic
文件。由于此 <ORIGIN>_autogen 目标 目标在生成时创建,因此无法使用例如 add_dependencies()
定义其依赖项。相反,AUTOGEN_ORIGIN_DEPENDS
目标属性决定是否应将原始目标依赖项转发到 <ORIGIN>_autogen 目标 目标。
默认情况下,AUTOGEN_ORIGIN_DEPENDS
从 CMAKE_AUTOGEN_ORIGIN_DEPENDS
初始化,后者默认为 ON
。
总而言之,<ORIGIN>_autogen 目标 目标的依赖项由以下部分组成:
转发的原始目标依赖项(默认情况下通过
AUTOGEN_ORIGIN_DEPENDS
启用)来自
AUTOGEN_TARGET_DEPENDS
的其他用户定义的依赖项
有关将 CMake 与 Qt 结合使用的更多信息,请参阅 cmake-qt(7)
手册。
注意
禁用 AUTOGEN_ORIGIN_DEPENDS
对于在仅构建 <ORIGIN>_autogen 目标 目标时避免构建原始目标依赖项很有用。当启用 global autogen target
时,这一点尤其重要。
当 <ORIGIN>_autogen 目标 目标不需要所有原始目标的依赖项,并且 AUTOGEN_ORIGIN_DEPENDS
被禁用时,可能需要扩展 AUTOGEN_TARGET_DEPENDS
以添加缺少的依赖项。