CMP0130

在 3.24 版本加入.

while() 诊断条件评估错误。

CMake 3.23 及以下版本意外地容忍了在评估传递给 while() 命令(但不是 if() 命令)的条件时遇到的错误。例如,代码

set(paren "(")
while(${paren})
endwhile()

在条件评估期间创建不平衡的括号。

CMake 3.24 及更高版本更喜欢诊断此类错误。此策略为尚未更新以修复其条件错误的项目提供兼容性。

此策略的“旧”行为是忽略 while() 条件中的错误。此策略的“新”行为是诊断 while() 条件中的错误。

此策略是在 CMake 版本 3.24 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。