summaryrefslogtreecommitdiffstats
path: root/Source/cmIfCommand.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2002-12-11 23:13:33 (GMT)
committerBrad King <brad.king@kitware.com>2002-12-11 23:13:33 (GMT)
commit4888c088ae0ca829862e8b2f9568abca12dc34d1 (patch)
tree2c0fb825f1d1adff97d98373b555f00b84da14f7 /Source/cmIfCommand.h
parent5a321605bcc15c7e559c8da5168eef00796148b1 (diff)
downloadCMake-4888c088ae0ca829862e8b2f9568abca12dc34d1.zip
CMake-4888c088ae0ca829862e8b2f9568abca12dc34d1.tar.gz
CMake-4888c088ae0ca829862e8b2f9568abca12dc34d1.tar.bz2
ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside.
Diffstat (limited to 'Source/cmIfCommand.h')
-rw-r--r--Source/cmIfCommand.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index 3e30a4e..152fcc2 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -31,15 +31,13 @@ class cmIfFunctionBlocker : public cmFunctionBlocker
public:
cmIfFunctionBlocker() {}
virtual ~cmIfFunctionBlocker() {}
- virtual bool IsFunctionBlocked(const char *name,
- const std::vector<std::string> &args,
+ virtual bool IsFunctionBlocked(const cmListFileFunction& lff,
cmMakefile &mf);
- virtual bool ShouldRemove(const char *name,
- const std::vector<std::string> &args,
+ virtual bool ShouldRemove(const cmListFileFunction& lff,
cmMakefile &mf);
virtual void ScopeEnded(cmMakefile &mf);
- std::vector<std::string> m_Args;
+ std::vector<cmListFileArgument> m_Args;
bool m_IsBlocking;
};
@@ -60,10 +58,16 @@ public:
}
/**
+ * This overrides the default InvokeInitialPass implementation.
+ * It records the arguments before expansion.
+ */
+ virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args);
+
+ /**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
*/
- virtual bool InitialPass(std::vector<std::string> const& args);
+ virtual bool InitialPass(std::vector<std::string> const& args) { return false; }
/**
* The name of the command as specified in CMakeList.txt.