CMP0092
Добавлена в версии 3.15.
Флаги предупреждений MSVC по умолчанию не содержатся в CMAKE_<LANG>_FLAGS.
При использовании компиляторов, подобных MSVC, в CMake 3.14 и ниже, флаги предупреждений, такие как /W3, добавляются в CMAKE_<LANG>_FLAGS по умолчанию. Это проблематично для проектов, которые хотят выбрать другой уровень предупреждений программно. В частности, это требует редактирования строк переменных CMAKE_<LANG>_FLAGS с знанием встроенных по умолчанию значений CMake, чтобы их можно было заменить.
CMake 3.15 и выше предпочитают не включать флаги предупреждений в значение CMAKE_<LANG>_FLAGS по умолчанию.
Данная политика обеспечивает совместимость с проектами, которые не были обновлены для ожидания отсутствия флагов предупреждений. Настройка политики вступает в силу с момента первого использования команды project() или enable_language(), которая инициализирует CMAKE_<LANG>_FLAGS для данного языка <LANG>.
Примечание
После того, как политика вступила в силу в начале проекта для данного языка, этот выбор должен использоваться на протяжении всего дерева для данного языка. В проектах с вложенными проектами в подкаталогах убедитесь, что все они преобразованы вместе.
Поведение OLD для этой политики заключается в размещении флагов предупреждений MSVC в стандартных записях кэша CMAKE_<LANG>_FLAGS. Поведение NEW для этой политики заключается в не размещении флагов предупреждений MSVC в стандартных записях кэша.
Эта политика была представлена в CMake версии 3.15. Она может быть установлена с помощью cmake_policy() или cmake_minimum_required(). Если она не задана, CMake не выдает предупреждения и использует поведение OLD.
Примечание
Поведение OLD политики является deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/policy/CMP0092.html