已產生¶
此原始碼檔案是否為建置或 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
目標屬性可能會影響產生的原始碼在專案的檔案清單中的分組位置。