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 中移除。