1 /*=========================================================================
3 Program: Insight Segmentation & Registration Toolkit
4 Module: $RCSfile: cmMarkAsAdvancedCommand.h,v $
6 Date: $Date: 2002-01-21 20:30:30 $
7 Version: $Revision: 1.3 $
9 Copyright (c) 2002 Insight Consortium. All rights reserved.
10 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef cmMarkAsAdvancedCommand_h
18 #define cmMarkAsAdvancedCommand_h
20 #include "cmStandardIncludes.h"
21 #include "cmCommand.h"
23 /** \class cmMarkAsAdvancedCommand
24 * \brief MarkAsAdvanced a CMAKE variable
26 * cmMarkAsAdvancedCommand sets a variable to a value with expansion.
28 class cmMarkAsAdvancedCommand
: public cmCommand
32 * This is a virtual constructor for the command.
34 virtual cmCommand
* Clone()
36 return new cmMarkAsAdvancedCommand
;
40 * This is called when the command is first encountered in
41 * the CMakeLists.txt file.
43 virtual bool InitialPass(std::vector
<std::string
> const& args
);
46 * This determines if the command gets propagated down
47 * to makefiles located in subdirectories.
49 virtual bool IsInherited() {return true;}
52 * The name of the command as specified in CMakeList.txt.
54 virtual const char* GetName() {return "MARK_AS_ADVANCED";}
57 * Succinct documentation.
59 virtual const char* GetTerseDocumentation()
61 return "Mark a cmake varible as advanced.";
67 virtual const char* GetFullDocumentation()
70 "MARK_AS_ADVANCED([CLEAR|FORCE]VAR VAR2 VAR... )\n"
71 "Mark the named variables as advanced. An advanced variable will not be displayed in"
72 " any of the cmake GUIs, unless the show advanced option is on. "
73 "If CLEAR is the first argument advanced variables are changed back to unadvanced."
74 "If FORCE is the first arguement, then the variable is made advanced."
75 "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.";
78 cmTypeMacro(cmMarkAsAdvancedCommand
, cmCommand
);