diff options
author | Brad King <brad.king@kitware.com> | 2019-05-29 14:40:09 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-05-30 13:24:59 (GMT) |
commit | 2d0b0e2b9d50aa14ccf345c727b2da73dfba9bd6 (patch) | |
tree | a47622e41b44f79aa0c1574707efa1576283338e /Help | |
parent | f872033d7531ed1d7d7345ff7873442ec8dbcee1 (diff) | |
download | CMake-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.rst | 8 |
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. |