CMP0037¶
警告
此策略的 OLD 行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required() 或 cmake_policy() 设置为 NEW。
目标名称不应被保留,并且应匹配有效性模式。
CMake 2.8.12 及更早版本允许使用 add_library()、add_executable() 和 add_custom_target() 创建目标,且目标名称不受限制。更新的 CMake 功能,例如 cmake-generator-expressions(7) 和一些诊断工具,期望目标名称匹配受限模式。
目标名称可以包含大写和小写字母、数字、下划线字符(_)、点(.)、加号(+)和减号(-)。特殊情况下,ALIAS 和 IMPORTED 目标可以包含两个连续的冒号。
不允许使用一个或多个 CMake 生成器保留的目标名称。其中包含(但不限于)all、clean、help 和 install。
与可选功能相关联的目标名称,例如 test 和 package,也可能被保留。CMake 3.10 及更低版本始终保留它们。CMake 3.11 及更高版本仅在启用相应功能时保留它们(例如,通过包含 CTest 或 CPack 模块)。
此策略的 OLD 行为是允许创建带有保留名称或不匹配有效性模式的目标。此策略的 NEW 行为是在使用无效目标名称调用 add_* 命令时报告错误。
此策略在 CMake 3.0 版本中引入。在 4.0 版本中移除之前,它可以通过 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。