summaryrefslogtreecommitdiffstats
path: root/Source/cmForEachCommand.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/cmForEachCommand.cxx
parent89dc04af1d55a343a44e7c2de4bb92a101dd6138 (diff)
downloadCMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.zip
CMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.tar.gz
CMake-c76500949d3fcf5ff83ac6e7f1d565f5d786c5f0.tar.bz2
cm*FunctionBlocker: Move to source file
Diffstat (limited to 'Source/cmForEachCommand.cxx')
-rw-r--r--Source/cmForEachCommand.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmForEachCommand.cxx b/Source/cmForEachCommand.cxx
index 06dce2c..b04f14c 100644
--- a/Source/cmForEachCommand.cxx
+++ b/Source/cmForEachCommand.cxx
@@ -10,11 +10,30 @@
#include "cm_memory.hxx"
#include "cmExecutionStatus.h"
+#include "cmFunctionBlocker.h"
+#include "cmListFileCache.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
#include "cmRange.h"
#include "cmSystemTools.h"
+class cmForEachFunctionBlocker : public cmFunctionBlocker
+{
+public:
+ cmForEachFunctionBlocker(cmMakefile* mf);
+ ~cmForEachFunctionBlocker() override;
+ bool IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile& mf,
+ cmExecutionStatus&) override;
+ bool ShouldRemove(const cmListFileFunction& lff, cmMakefile& mf) override;
+
+ std::vector<std::string> Args;
+ std::vector<cmListFileFunction> Functions;
+
+private:
+ cmMakefile* Makefile;
+ int Depth;
+};
+
cmForEachFunctionBlocker::cmForEachFunctionBlocker(cmMakefile* mf)
: Makefile(mf)
, Depth(0)