summaryrefslogtreecommitdiffstats
path: root/Source/cmIfCommand.cxx
diff options
context:
space:
mode:
authorRegina Pfeifer <regina@mailbox.org>2019-07-23 21:00:28 (GMT)
committerRegina Pfeifer <regina@mailbox.org>2019-07-30 15:21:50 (GMT)
commitc76500949d3fcf5ff83ac6e7f1d565f5d786c5f0 (patch)
tree4a42eb66c6ea5c4b5b51919e015d198da427a3a4 /Source/cmIfCommand.cxx
parent89dc04af1d55a343a44e7c2de4bb92a101dd6138 (diff)
downloadCMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.zip
CMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.tar.gz
CMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.tar.bz2
cm*FunctionBlocker: Move to source file
Diffstat (limited to 'Source/cmIfCommand.cxx')
-rw-r--r--Source/cmIfCommand.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx
index 385022c..20fe2f8 100644
--- a/Source/cmIfCommand.cxx
+++ b/Source/cmIfCommand.cxx
@@ -7,6 +7,8 @@
#include "cmConditionEvaluator.h"
#include "cmExecutionStatus.h"
#include "cmExpandedCommandArgument.h"
+#include "cmFunctionBlocker.h"
+#include "cmListFileCache.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
#include "cmOutputConverter.h"
@@ -28,6 +30,21 @@ static std::string cmIfCommandError(
return err;
}
+class cmIfFunctionBlocker : public cmFunctionBlocker
+{
+public:
+ bool IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile& mf,
+ cmExecutionStatus&) override;
+ bool ShouldRemove(const cmListFileFunction& lff, cmMakefile& mf) override;
+
+ std::vector<cmListFileArgument> Args;
+ std::vector<cmListFileFunction> Functions;
+ bool IsBlocking;
+ bool HasRun = false;
+ bool ElseSeen = false;
+ unsigned int ScopeDepth = 0;
+};
+
//=========================================================================
bool cmIfFunctionBlocker::IsFunctionBlocked(const cmListFileFunction& lff,
cmMakefile& mf,