summaryrefslogtreecommitdiffstats
path: root/Source/cmIfCommand.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/cmIfCommand.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/cmIfCommand.h')
-rw-r--r--Source/cmIfCommand.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index 9ba4434..ca729e7 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -28,18 +28,22 @@
class cmIfFunctionBlocker : public cmFunctionBlocker
{
public:
- cmIfFunctionBlocker() {this->HasRun = false; this->ScopeDepth = 0;}
+ cmIfFunctionBlocker() {
+ this->HasRun = false; this->ScopeDepth = 0; this->Executing = false;}
virtual ~cmIfFunctionBlocker() {}
virtual bool IsFunctionBlocked(const cmListFileFunction& lff,
- cmMakefile &mf);
+ cmMakefile &mf,
+ cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction& lff,
cmMakefile &mf);
virtual void ScopeEnded(cmMakefile &mf);
std::vector<cmListFileArgument> Args;
+ std::vector<cmListFileFunction> Functions;
bool IsBlocking;
bool HasRun;
unsigned int ScopeDepth;
+ bool Executing;
};
/** \class cmIfCommand
@@ -62,13 +66,15 @@ public:
* This overrides the default InvokeInitialPass implementation.
* It records the arguments before expansion.
*/
- virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args);
+ virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args,
+ cmExecutionStatus &);
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
*/
- virtual bool InitialPass(std::vector<std::string> const&) { return false; }
+ virtual bool InitialPass(std::vector<std::string> const&,
+ cmExecutionStatus &) { return false;};
/**
* The name of the command as specified in CMakeList.txt.