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(), чтобы явно установить ее в OLD или NEW. В отличие от многих политик, CMake версии 3.21.0-rc3 не выдает предупреждений, когда эта политика не установлена, а просто использует поведение OLD.
Примечание
Поведение OLD политики deprecated by definition и может быть удалено в будущей версии CMake.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/policy/CMP0092.html