已產生¶
此原始檔是否作為建置或 CMake 流程的一部分而產生。
在 3.20 版本中變更:在一個目錄中啟用 GENERATED
原始檔屬性,允許關聯的原始檔跨目錄使用,而無需為其他目錄範圍手動設定該屬性。此外,現在只能將其設定為布林值,且一旦啟用就不能關閉。請參閱政策 CMP0118
。
在 3.30 版本中變更:原始檔是否為產生的,是原始檔的全有或全無的全域屬性。因此,GENERATED
原始檔屬性現在在所有目錄中都可見。請參閱政策 CMP0163
。
告知內部 CMake 引擎,原始檔是由外部程序(例如另一個建置步驟,或 CMake 自身的執行)所產生。然後,此資訊會用於豁免該檔案的任何存在性或有效性檢查。
任何檔案,如果是
透過執行諸如
add_custom_command()
等在建置期間執行的命令所建立列為
add_custom_command()
或add_custom_target()
命令的BYPRODUCTS
之一,或
將會標記 GENERATED
屬性。
當作為 add_custom_command()
命令的 OUTPUT
而建立的產生檔案,在相同的目錄範圍(通常表示相同的 CMakeLists.txt
檔案)中被明確列為任何目標的原始檔時,CMake 將自動建立依賴關係,以確保檔案在建置該目標之前產生。
Makefile 產生器 將在 make clean
期間移除 GENERATED
檔案。
產生的原始檔在某些 IDE 工具中可能會被隱藏,而在其他工具中可能會顯示。對於由 CMake 的 AUTOMOC
、AUTORCC
或 AUTOUIC
功能所產生的原始檔特殊情況,AUTOGEN_SOURCE_GROUP
、AUTOMOC_SOURCE_GROUP
、AUTORCC_SOURCE_GROUP
和 AUTOUIC_SOURCE_GROUP
目標屬性可能會影響產生的原始檔在專案的檔案清單中如何分組。