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