diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 0cdbb82d7..018ce7ecd 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -2409,7 +2409,8 @@ bool cmFileCommand::HandleRemove(std::vector const& args, fileName += "/" + *i; } - if(cmSystemTools::FileIsDirectory(fileName.c_str()) && recurse) + if(cmSystemTools::FileIsDirectory(fileName.c_str()) && + !cmSystemTools::FileIsSymlink(fileName.c_str()) && recurse) { cmSystemTools::RemoveADirectory(fileName.c_str()); }