CMP0171

在版本 3.31 中新增。

codegen 是一個保留的目標名稱。

CMake 3.30 及更早版本沒有保留 codegen 作為內建目標名稱,讓專案可以自由建立具有該名稱的目標。CMake 3.31 及更高版本偏好保留 codegen 作為內建目標名稱,以驅動使用 CODEGEN 選項搭配 add_custom_command() 建立的自訂命令。為了支援在腳本環境中建置 codegen 目標,例如 cmake --build . --target codegen,即使沒有自訂命令使用 CODEGEN 選項,也需要產生 codegen 目標。此策略為尚未更新以避免建立名為 codegen 的目標的專案提供相容性。

此策略的 OLD 行為允許專案建立名稱為 codegen 的目標。NEW 行為會在建立名稱為 codegen 的目標時停止並出現嚴重錯誤。

此策略在 CMake 版本 3.31 中引入。它可以由 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 會發出警告,並使用 OLD 行為。

注意

策略的 OLD 行為依定義已被棄用,並可能在 CMake 的未來版本中移除。