Spec-Zone.ru › CMake 3.30

CMP0164

Новое в версии 3.30.

add_library() отклоняет SHARED библиотеки, если они не поддерживаются платформой.

В CMake 3.29 и ниже, на платформах, не поддерживающих динамические библиотеки (TARGET_SUPPORTS_SHARED_LIBS имеет значение false), команда add_library() автоматически преобразует SHARED библиотеки в STATIC библиотеки, чтобы помочь пользователям создавать проекты на таких платформах. Однако семантика динамических и статических библиотек достаточно различается, чтобы такая автоматическая конвертация не работала в общем случае. Проекты, использующие динамические библиотеки, должны быть перенесены на такие платформы в каждом конкретном случае.

В CMake 3.30 и выше, add_library() предпочитает отклонять создание динамических библиотек на платформах, которые их не поддерживают, и завершаться с сообщением об ошибке fatal. Эта политика обеспечивает совместимость для проектов, которые работали с автоматическим преобразованием в статические библиотеки и не были обновлены с явным переносом.

Поведение OLD для этой политики заключается в неявном создании статической библиотеки с предупреждением для разработчика. Поведение NEW для этой политики заключается в завершении работы.

Эта политика была введена в CMake версии 3.30. Она может быть установлена с помощью 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/CMP0164.html

Spec-Zone.ru

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