Spec-Zone.ru › CMake 3.26

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(), которая включает язык, компилятор которого ориентирован на ABI Watcom.

Примечание

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

Поведение OLD для этой политики — размещать флаги библиотеки времени выполнения Watcom в стандартных записях кэша CMAKE_<LANG>_FLAGS_<CONFIG> и игнорировать абстракцию CMAKE_WATCOM_RUNTIME_LIBRARY. Поведение NEW для этой политики — не размещать флаги библиотеки времени выполнения Watcom в стандартных записях кэша и вместо этого использовать абстракцию.

Эта политика была введена в CMake версии 3.24. Используйте команду cmake_policy(), чтобы установить её в OLD или NEW явно. В отличие от многих политик, CMake версии 3.26.0-rc3 не выдает предупреждение, когда эта политика не установлена, и просто использует поведение OLD.

Примечание

Поведение OLD политики deprecated by definition и может быть удалено в будущих версиях CMake.

© 2000–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/policy/CMP0136.html

Spec-Zone.ru

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