2001-11-27 02:28:27 +03: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 cmMarkAsAdvancedCommand_h
# define cmMarkAsAdvancedCommand_h
# include "cmStandardIncludes.h"
# include "cmCommand.h"
/** \class cmMarkAsAdvancedCommand
* \ brief MarkAsAdvanced a CMAKE variable
*
* cmMarkAsAdvancedCommand sets a variable to a value with expansion .
*/
class cmMarkAsAdvancedCommand : public cmCommand
{
public :
/**
* This is a virtual constructor for the command .
*/
virtual cmCommand * Clone ( )
{
return new cmMarkAsAdvancedCommand ;
}
/**
* This is called when the command is first encountered in
* the CMakeLists . txt file .
*/
virtual bool InitialPass ( std : : vector < std : : string > const & args ) ;
/**
* This determines if the command gets propagated down
* to makefiles located in subdirectories .
*/
virtual bool IsInherited ( ) { return true ; }
/**
* The name of the command as specified in CMakeList . txt .
*/
virtual const char * GetName ( ) { return " MARK_AS_ADVANCED " ; }
/**
* Succinct documentation .
*/
virtual const char * GetTerseDocumentation ( )
{
return " Mark a cmake varible as advanced. " ;
}
/**
* More documentation .
*/
virtual const char * GetFullDocumentation ( )
{
return
2001-12-07 23:47:39 +03:00
" MARK_AS_ADVANCED([CLEAR|FORCE]VAR VAR2 VAR... ) \n "
2001-11-27 02:28:27 +03:00
" Mark the named variables as advanced. An advanced variable will not be displayed in "
2001-12-07 23:47:39 +03:00
" any of the cmake GUIs, unless the show advanced option is on. "
" If CLEAR is the first argument advanced variables are changed back to unadvanced. "
" If FORCE is the first arguement, then the variable is made advanced. "
" If neither FORCE or CLEAR is specified, new values will be marked as advanced, but if the variable already has an advanced state, it will not be changed. " ;
2001-11-27 02:28:27 +03:00
}
cmTypeMacro ( cmMarkAsAdvancedCommand , cmCommand ) ;
} ;
# endif