diff options
author | Craig Scott <craig.scott@crascit.com> | 2022-01-30 11:59:57 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2022-01-31 05:24:07 (GMT) |
commit | 3efa3251e9ebd7d6a5e396152c7a14f9aa529f02 (patch) | |
tree | 36aec7ae2614a39b2e92292a85e329844f06f14c /Help/command | |
parent | 4b033ca0eb486fa23f58e4df2f2a7d3539ca0a3f (diff) | |
download | CMake-3efa3251e9ebd7d6a5e396152c7a14f9aa529f02.zip CMake-3efa3251e9ebd7d6a5e396152c7a14f9aa529f02.tar.gz CMake-3efa3251e9ebd7d6a5e396152c7a14f9aa529f02.tar.bz2 |
Help: Clarify relative path handling for target_include_directories()
Fixes: #22853
Diffstat (limited to 'Help/command')
-rw-r--r-- | Help/command/target_include_directories.rst | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/Help/command/target_include_directories.rst b/Help/command/target_include_directories.rst index 3e53b2e..3fc7926 100644 --- a/Help/command/target_include_directories.rst +++ b/Help/command/target_include_directories.rst @@ -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 |