| 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. |