CMP0159
Добавлено в версии 3.29.
file(STRINGS) с REGEX обновляет CMAKE_MATCH_<n>.
В CMake 3.28 и более ранних версиях параметр REGEX команды file(STRINGS) не влияет на переменные 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.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0159.html