TEST_INCLUDE_{FILE,FILES}: Update documentation

The TEST_INCLUDE_FILE directory property got deprecated in CMake 3.10
and TEST_INCLUDE_FILES should be used instead. This extends descriptions
a bit to better understand this property.
This commit is contained in:
Peter Kokot 2025-03-24 14:34:06 +01:00
parent ec10d51115
commit 1666b715eb
No known key found for this signature in database
GPG Key ID: A94800907AA79B36
2 changed files with 43 additions and 7 deletions

View File

@ -1,9 +1,14 @@
TEST_INCLUDE_FILE
-----------------
Deprecated. Use :prop_dir:`TEST_INCLUDE_FILES` instead.
.. deprecated:: 3.10
A cmake file that will be included when ctest is run.
Use the :prop_dir:`TEST_INCLUDE_FILES` directory property instead, which
supports specifying multiple files.
If you specify ``TEST_INCLUDE_FILE``, that file will be included and
processed when ctest is run on the directory.
The ``TEST_INCLUDE_FILE`` directory property specifies a CMake script that is
included and processed when ``ctest`` is run on the directory.
If both the ``TEST_INCLUDE_FILE`` and :prop_dir:`TEST_INCLUDE_FILES` directory
properties are set, the script specified in ``TEST_INCLUDE_FILE`` is included
first, followed by the scripts listed in ``TEST_INCLUDE_FILES``.

View File

@ -3,7 +3,38 @@ TEST_INCLUDE_FILES
.. versionadded:: 3.10
A list of cmake files that will be included when ctest is run.
This directory property specifies a list of CMake scripts to be included and
processed when ``ctest`` runs on the directory. Use absolute paths, to avoid
ambiguity. Script files are included in the specified order.
If you specify ``TEST_INCLUDE_FILES``, those files will be included and
processed when ctest is run on the directory.
``TEST_INCLUDE_FILES`` scripts are processed when running ``ctest``, not during
the ``cmake`` configuration phase. These scripts should be written as if they
were CTest dashboard scripts. It is common to generate such scripts dynamically
since many variables and commands available during configuration are not
accessible at test phase.
Examples
^^^^^^^^
Setting this directory property to append one or more CMake scripts:
.. code-block:: cmake
:caption: CMakeLists.txt
configure_file(script.cmake.in script.cmake)
set_property(
DIRECTORY
APPEND
PROPERTY TEST_INCLUDE_FILES
${CMAKE_CURRENT_BINARY_DIR}/script.cmake
${CMAKE_CURRENT_SOURCE_DIR}/foo.cmake
${dir}/bar.cmake
)
.. code-block:: cmake
:caption: script.cmake.in
execute_process(
COMMAND "@CMAKE_COMMAND@" -E echo "script.cmake executed during CTest"
)