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.28.6 не выводит предупреждение, когда этот параметр не установлен, и просто использует поведение 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.28/policy/CMP0092.html