CMP0171¶
新增於版本 3.31。
codegen
是一個保留的目標名稱。
CMake 3.30 及更早版本並未將 codegen
保留為內建目標名稱,因此專案可以自由建立同名的目標。CMake 3.31 及更新版本傾向於將 codegen
保留為內建目標名稱,以驅動使用 add_custom_command()
的 CODEGEN
選項建立的自訂指令。為了支援在腳本環境中建置 codegen
目標,例如 cmake --build . --target codegen
,即使沒有任何自訂指令使用 CODEGEN
選項,也需要產生 codegen
目標。此策略為尚未更新以避免建立名為 codegen
的目標的專案提供相容性。
此策略的 OLD
行為允許專案建立名稱為 codegen
的目標。如果建立名稱為 codegen
的目標,則 NEW
行為會中止並顯示致命錯誤。
此策略是在 CMake 版本 3.31 中引入的。可以透過 cmake_policy()
或 cmake_minimum_required()
進行設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。
注意
策略的 OLD
行為根據定義 已棄用
,並可能在未來版本的 CMake 中移除。