Spec-Zone.ru › CMake 3.15

CMP0022

INTERFACE_LINK_LIBRARIES определяет интерфейс связи.

CMake 2.8.11 построил ‘интерфейс связи’ целевого объекта из свойств, соответствующих (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?. Современный способ указать конфигурационно-зависимые данные — использовать выражения генератора, и префикс IMPORTED_ делает унифицированную обработку интерфейса связи с помощью выражений генератора невозможной. Свойство целевого объекта INTERFACE_LINK_LIBRARIES было введено как замена в CMake 2.8.12. Это новое свойство названо последовательно со свойствами INTERFACE_COMPILE_DEFINITIONS, INTERFACE_INCLUDE_DIRECTORIES и INTERFACE_COMPILE_OPTIONS. Для целевых объектов, встраиваемых в приложение, CMake будет использовать свойство INTERFACE_LINK_LIBRARIES в качестве источника интерфейса связи только в случае, если политика CMP0022 установлена в NEW. При экспорте целевого объекта, у которого эта политика установлена в NEW, только свойство INTERFACE_LINK_LIBRARIES будет обработано и сгенерировано для целевого объекта IMPORTED по умолчанию. Новый параметр команд install(EXPORT) и экспорта позволяет экспортировать свойства старого стиля для совместимости с пользователями CMake, использующими версии старше 2.8.12. Команда target_link_libraries() больше не будет заполнять свойства, соответствующие LINK_INTERFACE_LIBRARIES(_<CONFIG>)?, если эта политика установлена в NEW.

Безопасный для будущего код, работающий с CMake 2.8.7 и новее, может быть написан с использованием ключевых слов LINK_PRIVATE и LINK_PUBLIC команды target_link_libraries().

Поведение OLD для этой политики заключается в игнорировании свойства INTERFACE_LINK_LIBRARIES для целевых объектов, встраиваемых в приложение. Поведение NEW для этой политики заключается в использовании свойства INTERFACE_LINK_LIBRARIES для целевых объектов, встраиваемых в приложение, и игнорировании старых свойств, соответствующих (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?.

Эта политика была введена в версии CMake 2.8.12. Версия CMake 3.15.7 выдает предупреждение, если политика не установлена, и использует поведение OLD. Используйте команду cmake_policy(), чтобы установить её явно в OLD или NEW.

Примечание

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

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

Spec-Zone.ru

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