mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
The CMAKE_VERIFY_INTERFACE_HEADER_SETS variable is intended to be under the control of the user. It doesn't discriminate between header sets defined in the main project and those defined by dependencies brought into the build directly via FetchContent. Developers will usually only be interested in verifying the main project's header sets, not those from dependencies. Make the variable effectively only enable header set verification of the main project by turning it off during FetchContent_MakeAvailable() calls. The user still has variables like CMAKE_PROJECT_INCLUDE and CMAKE_PROJECT_<projectName>_INCLUDE available to them if they want to enable verification of all or specific dependencies respectively. Fixes: #23808
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.