mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Avoid use of CopyAFile "copyPermissions" parameter
Commit 0fafdb7e (Do not copy permissions of files when making the copy
in an install rule, 2008-12-18) added special behavior to KWSys file
copy methods for this special case. Use a local solution to avoid use
of the special behavior so it can be removed later.
This commit is contained in:
@@ -1507,7 +1507,7 @@ bool cmFileCopier::InstallFile(const char* fromFile, const char* toFile,
|
||||
this->ReportCopy(toFile, TypeFile, copy);
|
||||
|
||||
// Copy the file.
|
||||
if(copy && !cmSystemTools::CopyAFile(fromFile, toFile, true, false))
|
||||
if(copy && !cmSystemTools::CopyAFile(fromFile, toFile, true))
|
||||
{
|
||||
cmOStringStream e;
|
||||
e << this->Name << " cannot copy file \"" << fromFile
|
||||
@@ -1519,6 +1519,13 @@ bool cmFileCopier::InstallFile(const char* fromFile, const char* toFile,
|
||||
// Set the file modification time of the destination file.
|
||||
if(copy && !this->Always)
|
||||
{
|
||||
// Add write permission so we can set the file time.
|
||||
// Permissions are set unconditionally below anyway.
|
||||
mode_t perm = 0;
|
||||
if(cmSystemTools::GetPermissions(toFile, perm))
|
||||
{
|
||||
cmSystemTools::SetPermissions(toFile, perm | mode_owner_write);
|
||||
}
|
||||
if (!cmSystemTools::CopyFileTime(fromFile, toFile))
|
||||
{
|
||||
cmOStringStream e;
|
||||
|
||||
Reference in New Issue
Block a user