summaryrefslogtreecommitdiffstats
path: root/Source/cmWhileCommand.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/cmWhileCommand.cxx
parent89dc04af1d55a343a44e7c2de4bb92a101dd6138 (diff)
downloadCMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.zip
CMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.tar.gz
CMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.tar.bz2
cm*FunctionBlocker: Move to source file
Diffstat (limited to 'Source/cmWhileCommand.cxx')
-rw-r--r--Source/cmWhileCommand.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmWhileCommand.cxx b/Source/cmWhileCommand.cxx
index 37d1c74..914860c 100644
--- a/Source/cmWhileCommand.cxx
+++ b/Source/cmWhileCommand.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 "cmSystemTools.h"
@@ -14,6 +16,23 @@
#include <string>
#include <utility>
+class cmWhileFunctionBlocker : public cmFunctionBlocker
+{
+public:
+ cmWhileFunctionBlocker(cmMakefile* mf);
+ ~cmWhileFunctionBlocker() override;
+ 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;
+
+private:
+ cmMakefile* Makefile;
+ int Depth;
+};
+
cmWhileFunctionBlocker::cmWhileFunctionBlocker(cmMakefile* mf)
: Makefile(mf)
, Depth(0)