summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Parent <john.parent@kitware.com>2022-09-22 16:54:22 (GMT)
committerBrad King <brad.king@kitware.com>2022-10-06 19:10:23 (GMT)
commit569fb1893e6d49677e3724b82e578b568aaa1504 (patch)
tree3914d6bceb205707b83adc87bdc122eb0b1361b7
parent1461ae49330595b7e7d59e793107dd809bb56720 (diff)
downloadCMake-569fb1893e6d49677e3724b82e578b568aaa1504.zip
CMake-569fb1893e6d49677e3724b82e578b568aaa1504.tar.gz
CMake-569fb1893e6d49677e3724b82e578b568aaa1504.tar.bz2
file(INSTALL): Report "Installing:" for a symlink to a directory
-rw-r--r--Source/cmFileCopier.cxx5
-rw-r--r--Tests/RunCMake/install/DIRECTORY-symlink-clobber-all-stdout.txt2
2 files changed, 5 insertions, 2 deletions
diff --git a/Source/cmFileCopier.cxx b/Source/cmFileCopier.cxx
index 70e6089..ef55abf 100644
--- a/Source/cmFileCopier.cxx
+++ b/Source/cmFileCopier.cxx
@@ -647,7 +647,10 @@ bool cmFileCopier::InstallDirectory(const std::string& source,
{
// Inform the user about this directory installation.
this->ReportCopy(destination, TypeDir,
- !cmSystemTools::FileIsDirectory(destination));
+ !( // Report "Up-to-date:" for existing directories,
+ // but not symlinks to them.
+ cmSystemTools::FileIsDirectory(destination) &&
+ !cmSystemTools::FileIsSymlink(destination)));
// check if default dir creation permissions were set
mode_t default_dir_mode_v = 0;
diff --git a/Tests/RunCMake/install/DIRECTORY-symlink-clobber-all-stdout.txt b/Tests/RunCMake/install/DIRECTORY-symlink-clobber-all-stdout.txt
index e69ef02..db8ca10 100644
--- a/Tests/RunCMake/install/DIRECTORY-symlink-clobber-all-stdout.txt
+++ b/Tests/RunCMake/install/DIRECTORY-symlink-clobber-all-stdout.txt
@@ -4,7 +4,7 @@
]*/Tests/RunCMake/install/DIRECTORY-symlink-clobber-build/root-all/dest/dir/file
-- Installing: [^
]*/Tests/RunCMake/install/DIRECTORY-symlink-clobber-build/root-all/dest/lnk
--- Up-to-date: [^
+-- Installing: [^
]*/Tests/RunCMake/install/DIRECTORY-symlink-clobber-build/root-all/dest/lnk
-- Up-to-date: [^
]*/Tests/RunCMake/install/DIRECTORY-symlink-clobber-build/root-all/dest/lnk/file