summaryrefslogtreecommitdiff
path: root/Source/cmIfCommand.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmIfCommand.h')
-rw-r--r--Source/cmIfCommand.h27
1 files changed, 16 insertions, 11 deletions
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index 94e4d998a..f794b78b8 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -26,7 +26,7 @@ public:
cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction& lff,
cmMakefile &mf);
-
+
std::vector<cmListFileArgument> Args;
std::vector<cmListFileFunction> Functions;
bool IsBlocking;
@@ -41,7 +41,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmIfCommand;
}
@@ -52,7 +52,7 @@ public:
*/
virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args,
cmExecutionStatus &);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -72,7 +72,7 @@ public:
{
return "Conditionally execute a group of commands.";
}
-
+
/**
* This determines if the command is invoked when in script mode.
*/
@@ -114,7 +114,7 @@ public:
"will be evaluated. Possible expressions are:\n"
" if(<constant>)\n"
"True if the constant is 1, ON, YES, TRUE, Y, or a non-zero number. "
- "False if the constant is 0, OFF, NO, FALSE, N, IGNORE, \"\", "
+ "False if the constant is 0, OFF, NO, FALSE, N, IGNORE, NOTFOUND, '', "
"or ends in the suffix '-NOTFOUND'. "
"Named boolean constants are case-insensitive. "
"If the argument is not one of these constants, "
@@ -149,7 +149,12 @@ public:
" if(file1 IS_NEWER_THAN file2)\n"
"True if file1 is newer than file2 or if one of the two files "
"doesn't exist. "
- "Behavior is well-defined only for full paths.\n"
+ "Behavior is well-defined only for full paths. "
+ "If the file time stamps are exactly the same, an "
+ "IS_NEWER_THAN comparison returns true, so that any dependent "
+ "build operations will occur in the event of a tie. "
+ "This includes the case of passing the same file name for both "
+ "file1 and file2.\n"
" if(IS_DIRECTORY directory-name)\n"
"True if the given name is a directory. "
"Behavior is well-defined only for full paths.\n"
@@ -238,22 +243,22 @@ public:
"7) The left and right hand arguments to AND OR are "
"independently tested to see if they are boolean constants, if "
"so they are used as such, otherwise they are assumed to be "
- "variables and are dereferenced. \n"
+ "variables and are dereferenced. \n"
;
}
// this is a shared function for both If and Else to determine if the
// arguments were valid, and if so, was the response true. If there is
// an error, the errorString will be set.
- static bool IsTrue(const std::vector<std::string> &args,
- std::string &errorString, cmMakefile *mf,
+ static bool IsTrue(const std::vector<std::string> &args,
+ std::string &errorString, cmMakefile *mf,
cmake::MessageType &status);
-
+
// Get a definition from the makefile. If it doesn't exist,
// return the original string.
static const char* GetVariableOrString(const char* str,
const cmMakefile* mf);
-
+
cmTypeMacro(cmIfCommand, cmCommand);
};