mirror of
https://github.com/Kitware/CMake.git
synced 2026-07-05 14:17:28 +00:00
- Described where this command shouldn't be called. - Added examples section. - Reworded few sentences. Issue: #27564
52 lines
1.2 KiB
ReStructuredText
52 lines
1.2 KiB
ReStructuredText
enable_testing
|
|
--------------
|
|
|
|
Enables testing for the current directory and below:
|
|
|
|
.. code-block:: cmake
|
|
|
|
enable_testing()
|
|
|
|
This command should be invoked in the top-level source directory because
|
|
:manual:`ctest(1)` expects to find a test file in the top-level
|
|
build directory.
|
|
|
|
This command is also automatically invoked when the :module:`CTest`
|
|
module is included, except if the :variable:`BUILD_TESTING`
|
|
option is turned off.
|
|
|
|
The following restrictions apply to where ``enable_testing()`` may be called:
|
|
|
|
* It must be called in file scope, not in a :command:`function` call nor inside
|
|
a :command:`block`.
|
|
|
|
Examples
|
|
^^^^^^^^
|
|
|
|
In the following example, this command is conditionally called depending on how
|
|
the project is used. For instance, when the Example project is added via the
|
|
:module:`FetchContent` module as a subdirectory of a parent project that defines
|
|
its own tests, testing for the Example project is disabled.
|
|
|
|
.. code-block:: cmake
|
|
:caption: ``CMakeLists.txt``
|
|
|
|
project(Example)
|
|
|
|
option(Example_ENABLE_TESTING "Enable testing" ${PROJECT_IS_TOP_LEVEL})
|
|
|
|
if(Example_ENABLE_TESTING)
|
|
enable_testing()
|
|
endif()
|
|
|
|
# ...
|
|
|
|
if(Example_ENABLE_TESTING)
|
|
add_test(...)
|
|
endif()
|
|
|
|
See Also
|
|
^^^^^^^^
|
|
|
|
* The :command:`add_test` command.
|