БИБЛИОТЕКИ_ИНТЕРФЕЙСА_СВЯЗИ
Список публичных библиотек интерфейса для общей библиотеки или исполняемого файла.
По умолчанию, привязка к общей библиотеке цели транзитивно привязывает цели, с которыми сама библиотека была связана. Для исполняемого файла с экспортом (см. свойство цели ENABLE_EXPORTS) не используются никакие транзитивные зависимости по умолчанию. Это свойство заменяет транзитивные зависимости по умолчанию явным списком. Когда цель привязана к другой цели с помощью команды target_link_libraries(), перечисленные библиотеки (и рекурсивно их библиотеки интерфейса связи) также будут предоставлены другой цели. Если список пуст, то никакие транзитивные зависимости не будут включены, когда эта цель будет связана с другой целью, даже если набор по умолчанию не пуст. Это свойство инициализируется значением переменной CMAKE_LINK_INTERFACE_LIBRARIES, если она установлена при создании цели. Это свойство игнорируется для библиотек STATIC.
Это свойство переопределяется свойством INTERFACE_LINK_LIBRARIES, если политика CMP0022 имеет значение NEW.
Это свойство устарело. Используйте INTERFACE_LINK_LIBRARIES вместо него.
Создание переносимых пакетов
Обратите внимание, что не рекомендуется заполнять LINK_INTERFACE_LIBRARIES цели абсолютными путями к зависимостям. Это бы «зашило» в установленные пакеты пути к файлам библиотек зависимостей такими, как они есть на машине, на которой пакет был создан.
См. раздел «Создание переносимых пакетов» (Создание переносимых пакетов) руководства cmake-packages(7) для обсуждения дополнительной осторожности, которая должна быть соблюдена при указании требований к использованию при создании пакетов для распространения.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/prop_tgt/LINK_INTERFACE_LIBRARIES.html