Spec-Zone.ru › CMake 3.30

CMP0117

Новое в версии 3.20.

Флаг RTTI MSVC /GR по умолчанию не добавляется в CMAKE_CXX_FLAGS.

При использовании компиляторов, подобных MSVC, в CMake 3.19 и ниже, флаг RTTI /GR по умолчанию добавляется в CMAKE_CXX_FLAGS. Это поведение унаследовано от поддержки версий MSVC из Visual Studio 2003 и ниже, которые по умолчанию не включали RTTI. Это больше не требуется. Более того, это проблематично для проектов, которые хотят изменить /GR- программно. В частности, это требует редактирования строки переменной CMAKE_CXX_FLAGS с знанием значения по умолчанию CMake для его замены.

CMake 3.20 и выше предпочитают не включать /GR в значение CMAKE_CXX_FLAGS по умолчанию.

Эта политика обеспечивает совместимость с проектами, которые не были обновлены для ожиданий отсутствия флага /GR. Параметры политики действуют с первого project() или enable_language() команды, которая инициализирует CMAKE_CXX_FLAGS.

Примечание

После того, как политика вступила в силу в начале проекта для данного языка, этот выбор должен использоваться во всем дереве для этого языка. В проектах, которые содержат вложенные проекты в подкаталогах, убедитесь, что всё преобразовано вместе.

Поведение OLD для этой политики заключается в размещении флага MSVC /GR в записи кэша по умолчанию CMAKE_CXX_FLAGS. Поведение NEW для этой политики заключается в не размещении флага MSVC /GR в записи кэша по умолчанию.

Эта политика была введена в версии CMake 3.20. Она может быть установлена с помощью 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/CMP0117.html

Spec-Zone.ru

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