|
|
@@ -287,6 +287,22 @@ bool cmIfCommand::IsTrue(const std::vector<std::string> &args,
|
|
|
IncrementArguments(newArgs,argP1,argP2);
|
|
|
reducible = 1;
|
|
|
}
|
|
|
+ // is the given path an absolute path ?
|
|
|
+ if (*arg == "IS_ABSOLUTE" && argP1 != newArgs.end())
|
|
|
+ {
|
|
|
+ if(cmSystemTools::FileIsFullPath((argP1)->c_str()))
|
|
|
+ {
|
|
|
+ *arg = "1";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ *arg = "0";
|
|
|
+ }
|
|
|
+ newArgs.erase(argP1);
|
|
|
+ argP1 = arg;
|
|
|
+ IncrementArguments(newArgs,argP1,argP2);
|
|
|
+ reducible = 1;
|
|
|
+ }
|
|
|
// does a command exist
|
|
|
if (*arg == "COMMAND" && argP1 != newArgs.end())
|
|
|
{
|