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