|
|
@@ -27,9 +27,8 @@ The following arguments specify include directories.
|
|
|
.. versionadded:: 3.11
|
|
|
Allow setting ``INTERFACE`` items on :ref:`IMPORTED targets <Imported Targets>`.
|
|
|
|
|
|
-Specified include directories may be absolute paths or relative paths.
|
|
|
-Repeated calls for the same <target> append items in the order called. If
|
|
|
-``SYSTEM`` is specified, the compiler will be told the
|
|
|
+Repeated calls for the same ``<target>`` append items in the order called.
|
|
|
+If ``SYSTEM`` is specified, the compiler will be told the
|
|
|
directories are meant as system include directories on some platforms
|
|
|
(signalling this setting might achieve effects such as the compiler
|
|
|
skipping warnings, or these fixed-install system files not being
|
|
|
@@ -43,12 +42,22 @@ with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
|
|
|
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
|
|
|
manual for more on defining buildsystem properties.
|
|
|
|
|
|
+Specified include directories may be absolute paths or relative paths.
|
|
|
+A relative path will be interpreted as relative to the current source
|
|
|
+directory (i.e. :variable:`CMAKE_CURRENT_SOURCE_DIR`) and converted to an
|
|
|
+absolute path before storing it in the associated target property.
|
|
|
+If the path starts with a generator expression, it will always be assumed
|
|
|
+to be an absolute path (with one exception noted below) and will be used
|
|
|
+unmodified.
|
|
|
+
|
|
|
Include directories usage requirements commonly differ between the build-tree
|
|
|
-and the install-tree. The ``BUILD_INTERFACE`` and ``INSTALL_INTERFACE``
|
|
|
-generator expressions can be used to describe separate usage requirements
|
|
|
-based on the usage location. Relative paths are allowed within the
|
|
|
-``INSTALL_INTERFACE`` expression and are interpreted relative to the
|
|
|
-installation prefix. For example:
|
|
|
+and the install-tree. The :genex:`BUILD_INTERFACE` and
|
|
|
+:genex:`INSTALL_INTERFACE` generator expressions can be used to describe
|
|
|
+separate usage requirements based on the usage location. Relative paths
|
|
|
+are allowed within the :genex:`INSTALL_INTERFACE` expression and are
|
|
|
+interpreted as relative to the installation prefix. Relative paths should not
|
|
|
+be used in :genex:`BUILD_INTERFACE` expressions because they will not be
|
|
|
+converted to absolute. For example:
|
|
|
|
|
|
.. code-block:: cmake
|
|
|
|