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 的未來版本中移除。