Spec-Zone.ru › CMake 3.19

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.19.0-rc3 не выводит предупреждение, если данная политика не установлена, и просто использует поведение OLD.

Примечание

Поведение OLD политики deprecated by definition и может быть удалено в будущих версиях CMake.

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/policy/CMP0092.html

Spec-Zone.ru

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