LINK_INTERFACE_LIBRARIES
Список публичных интерфейсных библиотек для общей библиотеки или исполняемого файла.
По умолчанию, привязка к общей библиотеке целевого объекта транзитивно привязывает ее к объектам, с которыми сама библиотека была связана. Для исполняемого файла с экспортом (см. свойство целевого объекта 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–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.7/prop_tgt/LINK_INTERFACE_LIBRARIES.html