2001-06-06 21:58:18 +04:00
/*=========================================================================
Program : Insight Segmentation & Registration Toolkit
Module : $ RCSfile $
Language : C + +
Date : $ Date $
Version : $ Revision $
Copyright ( c ) 2001 Insight Consortium
All rights reserved .
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions are met :
* Redistributions of source code must retain the above copyright notice ,
this list of conditions and the following disclaimer .
* Redistributions in binary form must reproduce the above copyright notice ,
this list of conditions and the following disclaimer in the documentation
and / or other materials provided with the distribution .
* The name of the Insight Consortium , nor the names of any consortium members ,
nor of any contributors , may be used to endorse or promote products derived
from this software without specific prior written permission .
* Modified source versions must be plainly marked as such , and must not be
misrepresented as being the original software .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ` ` AS IS ' '
AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED . IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL
DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY ,
OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
# 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 .
*/
2001-09-20 23:08:30 +04:00
virtual bool InitialPass ( std : : vector < std : : string > const & args ) {
2001-06-06 21:58:18 +04:00
return true ; } ;
/**
* 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