CMP0117
Новое в версии 3.20.
Флаг RTTI MSVC /GR по умолчанию не добавляется в CMAKE_CXX_FLAGS.
При использовании компиляторов типа MSVC в CMake 3.19 и ниже, флаг RTTI /GR по умолчанию добавляется в CMAKE_CXX_FLAGS. Такое поведение унаследовано от поддержки версий MSVC из Visual Studio 2003 и ниже, которые не включали RTTI по умолчанию. Сейчас это уже не нужно. Более того, это проблематично для проектов, которые хотят изменить это поведение программно. В частности, это требует редактирования строки переменной 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(), чтобы установить её в OLD или NEW явно. В отличие от многих политик, CMake версии 3.24.2 не выводит предупреждение, когда эта политика не установлена, и просто использует поведение OLD.
Примечание
Поведение OLD политики — deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/policy/CMP0117.html