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 行為是讓搭配 REGEXfile(STRINGS) 不會在 CMAKE_MATCH_<n> 變數中儲存捕獲群組。NEW 行為是儲存捕獲群組。

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

注意

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