diff options
Diffstat (limited to 'Source/cmEnableTestingCommand.h')
-rw-r--r-- | Source/cmEnableTestingCommand.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Source/cmEnableTestingCommand.h b/Source/cmEnableTestingCommand.h new file mode 100644 index 0000000..9b9e985 --- /dev/null +++ b/Source/cmEnableTestingCommand.h @@ -0,0 +1,79 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2009 Kitware, Inc., Insight Software Consortium + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#ifndef cmEnableTestingCommand_h +#define cmEnableTestingCommand_h + +#include "cmCommand.h" + +/** \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. + */ + virtual cmCommand* Clone() + { + return new cmEnableTestingCommand; + } + + /** + * This is called when the command is first encountered in + * the CMakeLists.txt file. + */ + virtual bool InitialPass(std::vector<std::string> const&, + cmExecutionStatus &); + + /** + * The name of the command as specified in CMakeList.txt. + */ + virtual const char* GetName() const { return "enable_testing";} + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() const + { + return "Enable testing for current directory and below."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() const + { + return + " enable_testing()\n" + "Enables testing for this directory and below. " + "See also the add_test command. Note that ctest expects to find " + "a test file in the build directory root. Therefore, this command " + "should be in the source directory root."; + } + + cmTypeMacro(cmEnableTestingCommand, cmCommand); + +}; + + +#endif |