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
的目标。如果创建了名称为 codegen
的目标,NEW
行为会停止并出现致命错误。
此策略在 CMake 版本 3.31 中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 会发出警告,并使用 OLD
行为。
注意
策略的 OLD
行为按照 定义已弃用
,并可能在 CMake 的未来版本中移除。