Files
CMake/Tests
Brad King 2d0b0e2b9d 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
2019-05-30 09:24:59 -04:00
..
2017-11-03 10:25:05 -04:00
2019-01-25 09:14:51 -05:00
2018-06-04 10:32:49 -04:00
2018-06-04 10:32:49 -04:00
2018-01-04 06:52:01 +11:00
2018-06-04 10:32:49 -04:00
2018-02-13 11:24:30 -05:00
2018-01-04 06:52:01 +11:00
2018-05-31 09:35:53 +02:00
2018-12-06 11:49:04 -05:00
2018-11-01 13:16:37 -04:00
2018-11-20 21:07:03 +01:00
2019-01-21 10:01:56 -05:00
2018-01-10 12:34:14 -05:00
2018-11-15 13:08:18 -05:00
2019-01-16 10:42:08 -05:00
2018-11-14 19:21:03 +01:00
2018-11-14 19:21:03 +01:00
2019-01-25 09:14:51 -05:00

CMake Tests Directory
*********************

This directory contains the CMake test suite.
See also the `CMake Source Code Guide`_.

.. _`CMake Source Code Guide`: ../Help/dev/source.rst

Many tests exist as immediate subdirectories, but some tests
are organized as follows.

* ``CMakeLib/``:
  Source code, used for tests, that links to the ``CMakeLib`` library
  defined over in ``Source/``.

* ``CMakeOnly/``:
  Deprecated.  Tests that run CMake to generate a project but not build it.
  Superseded by ``Tests/RunCMake/``.

* ``Find*/``:
  Tests for specific find modules that can only be run on machines with
  the corresponding packages installed.  They are enabled in
  ``CMakeLists.txt`` by undocumented options used on CI builds.

* ``Module/``:
  Tests for specific CMake modules.

* ``RunCMake/``:
  Tests that run CMake and/or other tools while precisely checking
  their return code and stdout/stderr content.  Useful for testing
  error cases and diagnostic output.