Spec-Zone.ru › CMake 3.31

CMP0136

Добавлен в версии 3.24.

Флаги библиотеки времени выполнения Watcom выбираются с помощью абстракции.

Компиляторы, нацеленные на ABI Watcom, имеют флаги для выбора библиотеки времени выполнения Watcom.

В CMake 3.23 и ниже, CMake автоматически добавляет флаги выбора библиотеки времени выполнения Watcom в стандартные записи кэша CMAKE_<LANG>_FLAGS_<CONFIG>. Это позволяет пользователям редактировать записи кэша для изменения флагов. Однако наличие таких стандартных флагов проблематично для проектов, которые хотят программно выбрать другую библиотеку времени выполнения. В частности, это требует редактирования строк переменных 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() команды, которые включают язык, компилятор которого нацелен на ABI Watcom.

Примечание

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

Поведение 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.31/policy/CMP0136.html

Spec-Zone.ru

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