summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-10-21 17:11:16 (GMT)
committerBrad King <brad.king@kitware.com>2009-10-21 17:11:16 (GMT)
commit7a9f75c1a8ab159398ee852774904e7b7b0457c2 (patch)
treeecb6cdd7f2b55d7662d20deba42b69def786b60a
parenta52fd03a2a6cd50a201309f8629ea76acf7cd10a (diff)
downloadCMake-7a9f75c1a8ab159398ee852774904e7b7b0457c2.zip
CMake-7a9f75c1a8ab159398ee852774904e7b7b0457c2.tar.gz
CMake-7a9f75c1a8ab159398ee852774904e7b7b0457c2.tar.bz2
Add IS_SYMLINK test to if command
-rw-r--r--Source/cmIfCommand.cxx7
-rw-r--r--Source/cmIfCommand.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx
index b51fabb..8cba111 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 90d1447..f480220 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"