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(), чтобы установить её явно в OLD или NEW. В отличие от многих политик, CMake версии 3.22.6 *не* выводит предупреждение, когда эта политика не задана, и просто использует поведение OLD.
Примечание
Поведение OLD политики deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/policy/CMP0117.html