Procházet zdrojové kódy

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

Brad King před 19 roky
rodič
revize
ac242e319b
1 změnil soubory, kde provedl 3 přidání a 7 odebrání
  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