CMP0159

在 3.29 版本中新增。

file(STRINGS) 搭配 REGEX 會更新 CMAKE_MATCH_<n>

在 CMake 3.28 及更舊的版本中,file(STRINGS) 命令的 REGEX 選項不會影響 CMAKE_MATCH_<n> 變數。CMake 3.29 及更新的版本傾向於使用檔案中最後一個匹配的捕獲來更新 CMAKE_MATCH_<n> 變數,類似於 string(REGEX MATCHALL) 命令。此政策為尚未更新以預期此行為的專案提供相容性。

此政策的 OLD 行為是讓 file(STRINGS) 搭配 REGEX 不將捕獲群組儲存在 CMAKE_MATCH_<n> 變數中。NEW 行為是儲存捕獲群組。

此政策在 CMake 3.29 版本中引入。它可以由 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 會發出警告,並使用 OLD 行為。

注意

政策的 OLD 行為 依照定義是已棄用的,並可能在 CMake 的未來版本中移除。