summaryrefslogtreecommitdiffstats
path: root/Source/cmExecutionStatus.h
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2008-01-23 15:28:26 (GMT)
committerKen Martin <ken.martin@kitware.com>2008-01-23 15:28:26 (GMT)
commit0e69d38004787f1d55eb7188cde4cf45e0a3957d (patch)
tree6cde7d0b5ef4b0b9b6d4fc90db463418e073776b /Source/cmExecutionStatus.h
parent72a301f88008c3d98c4ae1f263084763dc662b31 (diff)
downloadCMake-0e69d38004787f1d55eb7188cde4cf45e0a3957d.zip
CMake-0e69d38004787f1d55eb7188cde4cf45e0a3957d.tar.gz
CMake-0e69d38004787f1d55eb7188cde4cf45e0a3957d.tar.bz2
ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class
Diffstat (limited to 'Source/cmExecutionStatus.h')
-rw-r--r--Source/cmExecutionStatus.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/Source/cmExecutionStatus.h b/Source/cmExecutionStatus.h
new file mode 100644
index 0000000..66a567e
--- /dev/null
+++ b/Source/cmExecutionStatus.h
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+ Program: CMake - Cross-Platform Makefile Generator
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ 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 cmExecutionStatus_h
+#define cmExecutionStatus_h
+
+#include "cmObject.h"
+
+/** \class cmExecutionStatus
+ * \brief Superclass for all command status classes
+ *
+ * when a command is involked it may set values on a command status instance
+ */
+class cmExecutionStatus : public cmObject
+{
+public:
+ cmTypeMacro(cmExecutionStatus, cmObject);
+
+ cmExecutionStatus() { this->Clear();};
+
+ virtual void SetReturnInvoked(bool val)
+ { this->ReturnInvoked = val; }
+ virtual bool GetReturnInvoked()
+ { return this->ReturnInvoked; }
+
+ virtual void SetBreakInvoked(bool val)
+ { this->BreakInvoked = val; }
+ virtual bool GetBreakInvoked()
+ { return this->BreakInvoked; }
+
+ virtual void Clear()
+ { this->ReturnInvoked = false; this->BreakInvoked = false; }
+
+
+protected:
+ bool ReturnInvoked;
+ bool BreakInvoked;
+};
+
+#endif