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
行为是使带有 REGEX
的 file(STRINGS)
不会将捕获组存储在 CMAKE_MATCH_<n>
变量中。 NEW
行为是存储捕获组。
此策略在 CMake 3.29 版本中引入。 它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。 如果未设置,CMake *不会* 警告,并使用 OLD
行为。
注意
策略的 OLD
行为按定义是 deprecated by definition
的,并可能在未来的 CMake 版本中移除。