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–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/LINK_INTERFACE_LIBRARIES.html