123456789101112131415161718192021222324252627282930313233343536373839 |
- CMP0022
- -------
- INTERFACE_LINK_LIBRARIES defines the link interface.
- CMake 2.8.11 constructed the 'link interface' of a target from
- properties matching ``(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?``.
- The modern way to specify config-sensitive content is to use generator
- expressions and the ``IMPORTED_`` prefix makes uniform processing of the
- link interface with generator expressions impossible. The
- INTERFACE_LINK_LIBRARIES target property was introduced as a
- replacement in CMake 2.8.12. This new property is named consistently
- with the INTERFACE_COMPILE_DEFINITIONS, INTERFACE_INCLUDE_DIRECTORIES
- and INTERFACE_COMPILE_OPTIONS properties. For in-build targets, CMake
- will use the INTERFACE_LINK_LIBRARIES property as the source of the
- link interface only if policy CMP0022 is NEW. When exporting a target
- which has this policy set to NEW, only the INTERFACE_LINK_LIBRARIES
- property will be processed and generated for the IMPORTED target by
- default. A new option to the install(EXPORT) and export commands
- allows export of the old-style properties for compatibility with
- downstream users of CMake versions older than 2.8.12. The
- target_link_libraries command will no longer populate the properties
- matching LINK_INTERFACE_LIBRARIES(_<CONFIG>)? if this policy is NEW.
- Warning-free future-compatible code which works with CMake 2.8.7 onwards
- can be written by using the ``LINK_PRIVATE`` and ``LINK_PUBLIC`` keywords
- of :command:`target_link_libraries`.
- The OLD behavior for this policy is to ignore the
- INTERFACE_LINK_LIBRARIES property for in-build targets. The NEW
- behavior for this policy is to use the INTERFACE_LINK_LIBRARIES
- property for in-build targets, and ignore the old properties matching
- ``(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?``.
- This policy was introduced in CMake version 2.8.12. CMake version
- |release| warns when the policy is not set and uses OLD behavior. Use
- the cmake_policy command to set it to OLD or NEW explicitly.
- .. include:: DEPRECATED.txt
|