diff options
Diffstat (limited to 'Source/cmIfCommand.cxx')
-rw-r--r-- | Source/cmIfCommand.cxx | 17 |
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, |