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
行为。