diff options
Diffstat (limited to 'Source/cmEnableTestingCommand.h')
-rw-r--r-- | Source/cmEnableTestingCommand.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Source/cmEnableTestingCommand.h b/Source/cmEnableTestingCommand.h new file mode 100644 index 0000000..88a17b9 --- /dev/null +++ b/Source/cmEnableTestingCommand.h @@ -0,0 +1,44 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmEnableTestingCommand_h +#define cmEnableTestingCommand_h + +#include "cmConfigure.h" // IWYU pragma: keep + +#include <string> +#include <vector> + +#include "cmCommand.h" + +class cmExecutionStatus; + +/** \class cmEnableTestingCommand + * \brief Enable testing for this directory and below. + * + * Produce the output testfile. This produces a file in the build directory + * called CMakeTestfile with a syntax similar to CMakeLists.txt. It contains + * the SUBDIRS() and ADD_TEST() commands from the source CMakeLists.txt + * file with CMake variables expanded. Only the subdirs and tests + * within the valid control structures are replicated in Testfile + * (i.e. SUBDIRS() and ADD_TEST() commands within IF() commands that are + * not entered by CMake are not replicated in Testfile). + * Note that CTest expects to find this file in the build directory root; + * therefore, this command should be in the source directory root too. + */ +class cmEnableTestingCommand : public cmCommand +{ +public: + /** + * This is a virtual constructor for the command. + */ + cmCommand* Clone() override { return new cmEnableTestingCommand; } + + /** + * This is called when the command is first encountered in + * the CMakeLists.txt file. + */ + bool InitialPass(std::vector<std::string> const&, + cmExecutionStatus&) override; +}; + +#endif |