summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-05-29 14:40:09 (GMT)
committerBrad King <brad.king@kitware.com>2019-05-30 13:24:59 (GMT)
commit2d0b0e2b9d50aa14ccf345c727b2da73dfba9bd6 (patch)
treea47622e41b44f79aa0c1574707efa1576283338e /Help
parentf872033d7531ed1d7d7345ff7873442ec8dbcee1 (diff)
downloadCMake-2d0b0e2b9d50aa14ccf345c727b2da73dfba9bd6.zip
CMake-2d0b0e2b9d50aa14ccf345c727b2da73dfba9bd6.tar.gz
CMake-2d0b0e2b9d50aa14ccf345c727b2da73dfba9bd6.tar.bz2
Do not exclude include directories made implicit by CPATH
Entries of the `CPATH` environment variable are implicitly searched as include directories by some C/C++ compilers. Since commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) these entries are detected by CMake and included in the `CMAKE_{C,CXX}_IMPLICIT_INCLUDE_DIRECTORIES` variables. However, we should not exclude them from explicit specification via `-I` or particularly `-isystem` because they are meant as user-specified include directories that can be re-ordered without breaking compiler builtin headers. In particular, we need explicit requests via `include_directories` with the `SYSTEM` option to result in `-isystem` so that third-party headers do not produce warnings. Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Fixes: #19291
Diffstat (limited to 'Help')
-rw-r--r--Help/release/3.14.rst8
1 files changed, 8 insertions, 0 deletions
diff --git a/Help/release/3.14.rst b/Help/release/3.14.rst
index 8a251bd..e3a7a62 100644
--- a/Help/release/3.14.rst
+++ b/Help/release/3.14.rst
@@ -412,3 +412,11 @@ Changes made since CMake 3.14.0 include the following.
incorrectly propagate usage requirements of those dependencies to
dependents that link the static library. This has been fixed.
The bug also existed in 3.13.0 through 3.13.4 and is fixed in 3.13.5.
+
+3.14.5
+------
+
+* Entries of the ``CPATH`` environment variable are no longer excluded
+ from explicit use via :command:`include_directories` and
+ :command:`target_include_directories` as they were in CMake 3.14.0
+ through 3.14.4.