summaryrefslogtreecommitdiff
path: root/share/cmake-3.18/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
blob: a54d7280dbd793bc07408689ff20a288e783acf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Note that it is not advisable to populate the ``INSTALL_INTERFACE`` of the
|INTERFACE_PROPERTY_LINK| of a target with absolute paths to the include
directories of dependencies.  That would hard-code into installed packages
the include directory paths for dependencies
**as found on the machine the package was made on**.

The ``INSTALL_INTERFACE`` of the |INTERFACE_PROPERTY_LINK| is only
suitable for specifying the required include directories for headers
provided with the target itself, not those provided by the transitive
dependencies listed in its :prop_tgt:`INTERFACE_LINK_LIBRARIES` target
property.  Those dependencies should themselves be targets that specify
their own header locations in |INTERFACE_PROPERTY_LINK|.

See the :ref:`Creating Relocatable Packages` section of the
:manual:`cmake-packages(7)` manual for discussion of additional care
that must be taken when specifying usage requirements while creating
packages for redistribution.