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 的未来版本中移除。