AUTOGEN_ORIGIN_DEPENDS

在版本 3.14 中新增。

用於將原始目標相依性轉發到對應的 The <ORIGIN>_autogen 目標 目標的開關。

注意

如果使用 Qt 5.15 或更高版本,且產生器是 NinjaMakefile 產生器,則原始目標相依性將轉發到 The <ORIGIN>_autogen_timestamp_deps 目標 目標,而不是 The <ORIGIN>_autogen 目標

具有 AUTOMOCAUTOUIC 屬性設定為 ON 的目標,會有對應的 The <ORIGIN>_autogen 目標 目標,該目標會產生 mocuic 檔案。由於此 The <ORIGIN>_autogen 目標 目標是在產生時建立的,因此無法使用例如 add_dependencies() 來定義其相依性。相反,AUTOGEN_ORIGIN_DEPENDS 目標屬性決定是否應將原始目標相依性轉發到 The <ORIGIN>_autogen 目標 目標。

預設情況下,AUTOGEN_ORIGIN_DEPENDS 會從 CMAKE_AUTOGEN_ORIGIN_DEPENDS 初始化,而 CMAKE_AUTOGEN_ORIGIN_DEPENDS 預設為 ON

總體而言,The <ORIGIN>_autogen 目標 目標的相依性組成來自

  • 轉發的原始目標相依性(預設透過 AUTOGEN_ORIGIN_DEPENDS 啟用)

  • 來自 AUTOGEN_TARGET_DEPENDS 的其他使用者定義的相依性

有關在 CMake 中使用 Qt 的更多資訊,請參閱 cmake-qt(7) 手冊。

注意

禁用 AUTOGEN_ORIGIN_DEPENDS 可用於避免僅在建置 The <ORIGIN>_autogen 目標 目標時建置原始目標相依性。當啟用 全域 autogen 目標 時,這尤其有趣。

The <ORIGIN>_autogen 目標 目標不需要所有原始目標的相依性,並且 AUTOGEN_ORIGIN_DEPENDS 已禁用時,可能需要擴展 AUTOGEN_TARGET_DEPENDS 以新增遺失的相依性。