Files
CMake/Help/policy/CMP0027.rst
Brad King ad3c2c0b03 Help: Normalize and consolidate standard policy advice paragraph
Every policy's documentation has a paragraph on what version of CMake
introduced it, how to set the policy, and whether CMake warns if the
policy is not set.  The wording of this paragraph has diverged across
policies over time.  Factor the paragraph out into a standard advice
document included by every policy.
2024-01-11 14:48:01 -05:00

28 lines
1.2 KiB
ReStructuredText

CMP0027
-------
Conditionally linked imported targets with missing include directories.
CMake 2.8.11 introduced introduced the concept of
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`, and a check at cmake time that the
entries in the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of an ``IMPORTED``
target actually exist. CMake 2.8.11 also introduced generator expression
support in the :command:`target_link_libraries` command. However, if an
imported target is linked as a result of a generator expression evaluation, the
entries in the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of that target were not
checked for existence as they should be.
The ``OLD`` behavior of this policy is to report a warning if an entry in
the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of a generator-expression
conditionally linked ``IMPORTED`` target does not exist.
The ``NEW`` behavior of this policy is to report an error if an entry in
the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of a generator-expression
conditionally linked ``IMPORTED`` target does not exist.
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.0
.. |WARNS_OR_DOES_NOT_WARN| replace:: warns
.. include:: STANDARD_ADVICE.txt
.. include:: DEPRECATED.txt