Spec-Zone.ru › CMake 3.15

INTERFACE_LINK_LIBRARIES

Список общедоступных библиотек интерфейса для библиотеки.

Это свойство содержит список транзитивных зависимостей от ссылок. Когда целевой объект связан с другим целевым объектом с помощью команды target_link_libraries(), библиотеки, указанные в списке (и рекурсивно их библиотеки интерфейса ссылок), также будут предоставлены другому целевому объекту. Это свойство переопределяется свойством LINK_INTERFACE_LIBRARIES или LINK_INTERFACE_LIBRARIES_<CONFIG>, если политика CMP0022 установлена в OLD или не задана.

Содержимое INTERFACE_LINK_LIBRARIES может использовать «генераторные выражения» с синтаксисом $<...>. См. руководство cmake-generator-expressions(7) для доступных выражений. См. руководство cmake-buildsystem(7) для получения более подробной информации о определении свойств системы сборки.

Примечание

Вызов target_link_libraries(<target> ...) может обновить это свойство в <target>. Если <target> не было создано в той же директории, что и вызов, то target_link_libraries() добавит суффикс вида ::@<directory-id>, где ::@ — разделитель, а <directory-id> — не указано. Это сообщает генераторам, что указанные библиотеки должны быть найдены в области видимости вызывающего объекта, а не в области видимости, в которой было создано <target>. Действительные идентификаторы директорий удаляются при экспорте командами install(EXPORT) и export().

Создание переносимых пакетов

Следует избегать заполнения INTERFACE_LINK_LIBRARIES целевого объекта абсолютными путями к зависимостям. Это «закодирует» в установленные пакеты пути к файлам библиотек зависимостей такими, как они были найдены на компьютере, на котором был создан пакет.

См. раздел «Создание переносимых пакетов» руководства Создание переносимых пакетов в руководстве cmake-packages(7) для обсуждения дополнительных мер предосторожности, которые необходимо принять при указании требований к использованию при создании пакетов для распространения.

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

Spec-Zone.ru

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