From 7a9f75c1a8ab159398ee852774904e7b7b0457c2 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 21 Oct 2009 13:11:16 -0400 Subject: [PATCH] Add IS_SYMLINK test to if command --- Source/cmIfCommand.cxx | 7 +++++++ Source/cmIfCommand.h | 3 +++ 2 files changed, 10 insertions(+) diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx index b51fabbd8..8cba1115e 100644 --- a/Source/cmIfCommand.cxx +++ b/Source/cmIfCommand.cxx @@ -508,6 +508,13 @@ namespace cmSystemTools::FileIsDirectory((argP1)->c_str()), reducible, arg, newArgs, argP1, argP2); } + // does a symlink with this name exist + if (*arg == "IS_SYMLINK" && argP1 != newArgs.end()) + { + HandlePredicate( + cmSystemTools::FileIsSymlink((argP1)->c_str()), + reducible, arg, newArgs, argP1, argP2); + } // is the given path an absolute path ? if (*arg == "IS_ABSOLUTE" && argP1 != newArgs.end()) { diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h index 90d144793..f48022028 100644 --- a/Source/cmIfCommand.h +++ b/Source/cmIfCommand.h @@ -150,6 +150,9 @@ public: " if(IS_DIRECTORY directory-name)\n" "True if the given name is a directory. " "Behavior is well-defined only for full paths.\n" + " if(IS_SYMLINK file-name)\n" + "True if the given name is a symbolic link. " + "Behavior is well-defined only for full paths.\n" " if(IS_ABSOLUTE path)\n" "True if the given path is an absolute path.\n" " if(variable MATCHES regex)\n"