CMP0136
Новое в версии 3.24.
Флаги библиотеки времени выполнения Watcom выбираются с помощью абстракции.
Компиляторы, нацеленные на ABI Watcom, имеют флаги для выбора библиотеки времени выполнения Watcom.
В CMake 3.23 и ниже флаги выбора библиотеки времени выполнения Watcom добавляются в стандартные записи кэша CMAKE_<LANG>_FLAGS_<CONFIG> CMake автоматически. Это позволяет пользователям редактировать записи кэша для настройки флагов. Однако наличие таких стандартных флагов проблематично для проектов, которые хотят выбрать библиотеку времени выполнения программно. В частности, это требует редактирования строк переменных CMAKE_<LANG>_FLAGS_<CONFIG> с знанием стандартных значений CMake, чтобы их можно было заменить.
CMake 3.24 и выше предпочитают не включать флаги выбора библиотеки времени выполнения Watcom в значения по умолчанию CMAKE_<LANG>_FLAGS_<CONFIG>, а вместо этого предлагают абстракцию первого класса. Переменная CMAKE_WATCOM_RUNTIME_LIBRARY и свойство целевого объекта WATCOM_RUNTIME_LIBRARY могут быть установлены для выбора библиотеки времени выполнения Watcom. Если они не установлены, CMake использует значение по умолчанию MultiThreadedDLL в Windows и SingleThreaded на других платформах, что эквивалентно исходным флагам.
Этот политический документ обеспечивает совместимость с проектами, которые не были обновлены для использования абстракции. Установка политики вступает в силу с момента первого использования команды project() или enable_language(), которая включает язык, компилятор которого нацелен на Watcom ABI.
Примечание
После того, как политика вступит в силу в начале проекта, этот выбор должен использоваться по всей структуре. В проектах, которые имеют вложенные проекты в подкаталогах, убедитесь, что всё преобразовано вместе.
Поведение OLD для этой политики — разместить флаги библиотеки времени выполнения Watcom в стандартных записях кэша CMAKE_<LANG>_FLAGS_<CONFIG> и проигнорировать абстракцию CMAKE_WATCOM_RUNTIME_LIBRARY. Поведение NEW для этой политики — не размещать флаги библиотеки времени выполнения Watcom в стандартные записи кэша и вместо этого использовать абстракцию.
Эта политика была представлена в версии CMake 3.24. Она может быть установлена с помощью команды 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/CMP0136.html