diff options
Diffstat (limited to 'Source/cmEnableTestingCommand.h')
-rw-r--r-- | Source/cmEnableTestingCommand.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Source/cmEnableTestingCommand.h b/Source/cmEnableTestingCommand.h new file mode 100644 index 0000000..67cd237 --- /dev/null +++ b/Source/cmEnableTestingCommand.h @@ -0,0 +1,48 @@ +/* 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> +#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() CM_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&) CM_OVERRIDE; + + /** + * The name of the command as specified in CMakeList.txt. + */ + std::string GetName() const CM_OVERRIDE { return "enable_testing"; } +}; + +#endif |