[Scummvm-git-logs] scummvm master -> d16e6a7d4968b4564b369c895e956a5ede38bf81

sev- sev at scummvm.org
Fri Sep 20 11:18:22 CEST 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d16e6a7d49 MSVC: Don't overwrite version.h if it hasn't changed


Commit: d16e6a7d4968b4564b369c895e956a5ede38bf81
    https://github.com/scummvm/scummvm/commit/d16e6a7d4968b4564b369c895e956a5ede38bf81
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2019-09-20T11:18:18+02:00

Commit Message:
MSVC: Don't overwrite version.h if it hasn't changed

That avoids superfluous recompilation and linkage of project when nothing
has changed.

Changed paths:
    devtools/create_project/scripts/revision.vbs


diff --git a/devtools/create_project/scripts/revision.vbs b/devtools/create_project/scripts/revision.vbs
index e6fef57..b8c2d61 100644
--- a/devtools/create_project/scripts/revision.vbs
+++ b/devtools/create_project/scripts/revision.vbs
@@ -128,8 +128,9 @@ End Sub
 
 ' Output revision header file
 Sub OutputRevisionHeader(str)
-	FSO.CopyFile rootFolder & "\\base\\internal_revision.h.in", targetFolder & "\\internal_revision.h"
-	FindReplaceInFile targetFolder & "\\internal_revision.h", "@REVISION@", str
+	FSO.CopyFile rootFolder & "\\base\\internal_revision.h.in", targetFolder & "\\internal_revision.h.tmp"
+	FindReplaceInFile targetFolder & "\\internal_revision.h.tmp", "@REVISION@", str
+	CompareFileAndReplace targetFolder & "\\internal_revision.h.tmp", targetFolder & "\\internal_revision.h"
 End Sub
 
 Function DetermineTortoiseSVNVersion()
@@ -482,3 +483,20 @@ Sub FindReplaceInFile(filename, to_find, replacement)
 	file.Write data
 	file.Close
 End Sub
+
+Sub CompareFileAndReplace(src_filename, dst_filename)
+	Dim file, src_data, dst_data
+	Set file = FSO.OpenTextFile(src_filename, 1, 0, 0)
+	src_data = file.ReadAll
+	file.Close
+	Set file = FSO.OpenTextFile(dst_filename, 1, 0, 0)
+	dst_data = file.ReadAll
+	file.Close
+	If StrComp(src_data, dst_data, vbBinaryCompare) = 0 Then
+		' Files are the same, just remove the source
+		FSO.DeleteFile src_filename
+	Else
+		' Files are different, overwrite the destination
+		FSO.MoveFile src_filename, dst_filename
+	End If
+End Sub





More information about the Scummvm-git-logs mailing list