Prechádzať zdrojové kódy

BUG: Fixed install rules to use copy-if-different.

Brad King 19 rokov pred
rodič
commit
ac242e319b
1 zmenil súbory, kde vykonal 3 pridanie a 7 odobranie
  1. 3 7
      Source/cmFileCommand.cxx

+ 3 - 7
Source/cmFileCommand.cxx

@@ -852,13 +852,9 @@ bool cmFileCommand::HandleInstallCommand(
           permissions |= mode_world_read;
           }
 
-        // Remove the original file and try copying the new file.
-        // TODO: This should be copy-if-different.  Don't forget to
-        // edit the destination file permissions, or compare files
-        // first.  This would need a new SystemTools::FilesDiffer that
-        // does not read all of the files at once.
-        cmSystemTools::RemoveFile(toFile.c_str());
-        if(!cmSystemTools::CopyFileAlways(fromFile.c_str(), toFile.c_str()))
+        // Copy the file, but only if it has changed.
+        if(!cmSystemTools::CopyFileIfDifferent(fromFile.c_str(),
+                                               toFile.c_str()))
           {
           cmOStringStream e;
           e << "INSTALL cannot copy file \"" << fromFile