2001-06-06 21:58:18 +04:00
/*=========================================================================
2002-10-24 02:03:27 +04:00
Program : CMake - Cross - Platform Makefile Generator
2001-06-06 21:58:18 +04:00
Module : $ RCSfile $
Language : C + +
Date : $ Date $
Version : $ Revision $
2002-10-24 02:03:27 +04:00
Copyright ( c ) 2002 Kitware , Inc . , Insight Consortium . All rights reserved .
See Copyright . txt or http : //www.cmake.org/HTML/Copyright.html for details.
2001-06-06 21:58:18 +04:00
2002-01-21 23:30:43 +03:00
This software is distributed WITHOUT ANY WARRANTY ; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE . See the above copyright notices for more information .
2001-06-06 21:58:18 +04:00
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
# ifndef cmEnableTestingCommand_h
# define cmEnableTestingCommand_h
# include "cmStandardIncludes.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 ) .
2001-10-19 18:07:56 +04:00
* Note that Dart expects to find this file in the build directory root ;
* therefore , this command should be in the source directory root too .
2001-06-06 21:58:18 +04:00
*/
class cmEnableTestingCommand : public cmCommand
{
public :
/**
* This is a virtual constructor for the command .
*/
virtual cmCommand * Clone ( )
{
return new cmEnableTestingCommand ;
}
/**
* This determines if the command gets propagated down
* to makefiles located in subdirectories .
*/
virtual bool IsInherited ( ) { return true ; }
/**
* This is called when the command is first encountered in
* the CMakeLists . txt file .
*/
2002-06-19 01:20:27 +04:00
virtual bool InitialPass ( std : : vector < std : : string > const & ) { return true ; }
2001-06-06 21:58:18 +04:00
/**
* This is called at the end after all the information
* specified by the command is accumulated . Most commands do
* not implement this method . At this point , reading and
* writing to the cache can be done .
*/
virtual void FinalPass ( ) ;
/**
* The name of the command as specified in CMakeList . txt .
*/
virtual const char * GetName ( ) { return " ENABLE_TESTING " ; }
/**
* Succinct documentation .
*/
virtual const char * GetTerseDocumentation ( )
{
return " Enable testing for this directory and below. " ;
}
/**
* More documentation .
*/
virtual const char * GetFullDocumentation ( )
{
return
" ENABLE_TESTING() \n "
2001-10-19 18:07:56 +04:00
" Enables testing for this directory and below. See also the ADD_TEST command. Note that Dart expects to find this file in the build directory root; therefore, this command should be in the source directory root too. " ;
2001-06-06 21:58:18 +04:00
}
cmTypeMacro ( cmEnableTestingCommand , cmCommand ) ;
} ;
# endif