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:
parent
3ac3dea6f0
commit
b8a1319c35
|
@ -1507,7 +1507,7 @@ bool cmFileCopier::InstallFile(const char* fromFile, const char* toFile,
|
||||||
this->ReportCopy(toFile, TypeFile, copy);
|
this->ReportCopy(toFile, TypeFile, copy);
|
||||||
|
|
||||||
// Copy the file.
|
// Copy the file.
|
||||||
if(copy && !cmSystemTools::CopyAFile(fromFile, toFile, true, false))
|
if(copy && !cmSystemTools::CopyAFile(fromFile, toFile, true))
|
||||||
{
|
{
|
||||||
cmOStringStream e;
|
cmOStringStream e;
|
||||||
e << this->Name << " cannot copy file \"" << fromFile
|
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.
|
// Set the file modification time of the destination file.
|
||||||
if(copy && !this->Always)
|
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))
|
if (!cmSystemTools::CopyFileTime(fromFile, toFile))
|
||||||
{
|
{
|
||||||
cmOStringStream e;
|
cmOStringStream e;
|
||||||
|
|
Loading…
Reference in New Issue