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