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