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.