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) и export позволяет экспортировать свойства старого стиля для совместимости с пользователями CMake, версиями ниже 2.8.12. Команда target_link_libraries больше не будет заполнять свойства, соответствующие LINK_INTERFACE_LIBRARIES(_<CONFIG>)? если эта политика установлена как NEW.
Код, совместимый с будущими версиями и не вызывающий предупреждений, работающий с CMake 2.8.7 и новее, может быть написан с использованием ключевых слов LINK_PRIVATE и LINK_PUBLIC команды target_link_libraries().
Старое поведение этой политики — игнорировать свойство INTERFACE_LINK_LIBRARIES для встроенных целевых объектов. Новое поведение этой политики — использовать свойство INTERFACE_LINK_LIBRARIES для встроенных целевых объектов и игнорировать старые свойства, соответствующие (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?.
Эта политика была введена в версии CMake 2.8.12. Версия CMake 3.14.7 выдает предупреждение, если политика не установлена и использует старое поведение. Используйте команду 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.14/policy/CMP0022.html