CMP0130¶
在 3.24 版本中添加。
while() 命令会诊断条件评估错误。
CMake 3.23 及更早版本会意外地容忍在评估传递给 while() 命令的条件(但不是 if() 命令)时遇到的错误。例如,以下代码
set(paren "(")
while(${paren})
endwhile()
会在条件评估期间创建一个不匹配的括号。
CMake 3.24 及更高版本倾向于诊断此类错误。此策略为尚未更新以修复条件错误的工程提供了兼容性。
此策略的 OLD 行为是忽略 while() 条件中的错误。此策略的 NEW 行为是诊断 while() 条件中的错误。
此策略在 CMake 3.24 版本中引入。它可以由 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。
注意
策略的 OLD 行为 根据定义已被弃用,并可能在未来的 CMake 版本中被移除。