/*========================================================================= Program: CMake - Cross-Platform Makefile Generator Module: $RCSfile: cmBreakCommand.h,v $ Language: C++ Date: $Date: 2008-01-23 15:28:26 $ Version: $Revision: 1.1 $ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. 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. =========================================================================*/ #ifndef cmBreakCommand_h #define cmBreakCommand_h #include "cmCommand.h" /** \class cmBreakCommand * \brief Break from an enclosing foreach or while loop * * cmBreakCommand returns from an enclosing foreach or while loop */ class cmBreakCommand : public cmCommand { public: /** * This is a virtual constructor for the command. */ virtual cmCommand* Clone() { return new cmBreakCommand; } /** * This is called when the command is first encountered in * the CMakeLists.txt file. */ virtual bool InitialPass(std::vector const& args, cmExecutionStatus &status); /** * This determines if the command is invoked when in script mode. */ virtual bool IsScriptable() { return true; } /** * The name of the command as specified in CMakeList.txt. */ virtual const char* GetName() {return "break";} /** * Succinct documentation. */ virtual const char* GetTerseDocumentation() { return "Break from an enclosing foreach or while loop."; } /** * More documentation. */ virtual const char* GetFullDocumentation() { return " break()\n" "Breaks from an enclosing foreach loop or while loop"; } cmTypeMacro(cmBreakCommand, cmCommand); }; #endif