1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmMarkAsAdvancedCommand.h,v $
6 Date: $Date: 2008-01-23 15:27:59 $
7 Version: $Revision: 1.12 $
9 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html 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 "cmCommand.h"
22 /** \class cmMarkAsAdvancedCommand
23 * \brief MarkAsAdvanced a CMAKE variable
25 * cmMarkAsAdvancedCommand sets a variable to a value with expansion.
27 class cmMarkAsAdvancedCommand
: public cmCommand
31 * This is a virtual constructor for the command.
33 virtual cmCommand
* Clone()
35 return new cmMarkAsAdvancedCommand
;
39 * This is called when the command is first encountered in
40 * the CMakeLists.txt file.
42 virtual bool InitialPass(std::vector
<std::string
> const& args
,
43 cmExecutionStatus
&status
);
46 * The name of the command as specified in CMakeList.txt.
48 virtual const char* GetName() {return "mark_as_advanced";}
51 * Succinct documentation.
53 virtual const char* GetTerseDocumentation()
55 return "Mark cmake cached variables as advanced.";
61 virtual const char* GetFullDocumentation()
64 " mark_as_advanced([CLEAR|FORCE] VAR VAR2 VAR...)\n"
65 "Mark the named cached variables as advanced. An advanced variable "
66 "will not be displayed in any of the cmake GUIs unless the show "
67 "advanced option is on. "
68 "If CLEAR is the first argument advanced variables are changed back "
70 "If FORCE is the first argument, then the variable is made advanced. "
71 "If neither FORCE nor CLEAR is specified, new values will be marked as "
72 "advanced, but if the variable already has an advanced/non-advanced "
73 "state, it will not be changed.\n"
74 "It does nothing in script mode.";
78 * This determines if the command is invoked when in script mode.
79 * mark_as_advanced() will have no effect in script mode, but this will
80 * make many of the modules usable in cmake/ctest scripts, (among them
81 * FindUnixMake.cmake used by the CTEST_BUILD command.
83 virtual bool IsScriptable() { return true; }
85 cmTypeMacro(cmMarkAsAdvancedCommand
, cmCommand
);