Spec-Zone.ru › CMake 3.30

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.30/policy/CMP0092.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API