https://github.com/Kitware/CMake
Raw File
Tip revision: 554ebf643dfad2eb6877c3d5530b005cee453513 authored by Brad King on 08 July 2021, 13:46:27 UTC
CMake 3.21.0-rc3
Tip revision: 554ebf6
CMP0027.rst
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.

This policy was introduced in CMake version 3.0.  CMake version
|release| warns when the policy is not set and uses ``OLD`` behavior.  Use
the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.

.. include:: DEPRECATED.txt
back to top