projects/determineversion.vbs
author peter1138
Mon, 04 Aug 2008 05:59:28 +0000
changeset 9843 96b2f22e54da
parent 9783 4e3ca2698436
child 9971 5f9aec5466d8
permissions -rwxr-xr-x
(svn r13987) -Codechange: Resize small map legend dynamically on window resize and when switching small map types, so that the legend is taller only on the industry type and only when the legend will not fit in the available space.
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     1
Option Explicit
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     2
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     3
Dim FSO
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     4
Set FSO = CreateObject("Scripting.FileSystemObject")
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     5
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     6
Sub FindReplaceInFile(filename, to_find, replacement)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     7
	Dim file, data
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     8
	Set file = FSO.OpenTextFile(filename, 1, 0, 0)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
     9
	data = file.ReadAll
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    10
	file.Close
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    11
	data = Replace(data, to_find, replacement)
9783
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
    12
	Set file = FSO.CreateTextFile(filename, -1, 0)
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    13
	file.Write data
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    14
	file.Close
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    15
End Sub
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    16
9457
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    17
Sub UpdateFile(modified, revision, version, cur_date, filename)
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    18
	FSO.CopyFile filename & ".in", filename
9457
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    19
	FindReplaceInFile filename, "@@MODIFIED@@", modified
7780
12ef69de4e60 (svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents: 7565
diff changeset
    20
	FindReplaceInFile filename, "@@REVISION@@", revision
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    21
	FindReplaceInFile filename, "@@VERSION@@", version
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    22
	FindReplaceInFile filename, "@@DATE@@", cur_date
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    23
End Sub
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    24
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    25
Sub UpdateFiles(version)
9457
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    26
	Dim WshShell, cur_date, modified, revision, oExec
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    27
	Set WshShell = CreateObject("WScript.Shell")
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    28
	cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date)
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    29
	revision = 0
9457
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    30
	modified = 1
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    31
	Select Case Mid(version, 1, 1)
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    32
		Case "r" ' svn
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    33
			revision = Mid(version, 2)
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    34
			If InStr(revision, "M") Then
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    35
				revision = Mid(revision, 1, InStr(revision, "M") - 1)
9457
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    36
				modified = 2
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    37
			Else
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    38
				modified = 0
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    39
			End If
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    40
			If InStr(revision, "-") Then
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    41
				revision = Mid(revision, 1, InStr(revision, "-") - 1)
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    42
			End If
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    43
		Case "h" ' mercurial (hg)
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    44
			Set oExec = WshShell.Exec("hg log -k " & Chr(34) & "svn" & Chr(34) & " -l 1 --template " & Chr(34) & "{desc}\n" & Chr(34) & " ../src")
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    45
			If Err.Number = 0 Then
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    46
				revision = Mid(OExec.StdOut.ReadLine(), 7)
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    47
				revision = Mid(revision, 1, InStr(revision, ")") - 1)
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    48
			End If
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
    49
		Case "g" ' git
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
    50
			Set oExec = WshShell.Exec("git log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1 ../src")
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
    51
			if Err.Number = 0 Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
    52
				revision = Mid(oExec.StdOut.ReadLine(), 7)
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
    53
				revision = Mid(revision, 1, InStr(revision, ")") - 1)
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
    54
			End If
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    55
	End Select
7780
12ef69de4e60 (svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents: 7565
diff changeset
    56
9457
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    57
	UpdateFile modified, revision, version, cur_date, "../src/rev.cpp"
75f11a6caef8 (svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents: 8702
diff changeset
    58
	UpdateFile modified, revision, version, cur_date, "../src/ottdres.rc"
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    59
End Sub
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    60
8702
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    61
Function ReadRegistryKey(shive, subkey, valuename, architecture)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    62
	Dim hiveKey, objCtx, objLocator, objServices, objReg, Inparams, Outparams
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    63
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    64
	' First, get the Registry Provider for the requested architecture
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    65
	Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    66
	objCtx.Add "__ProviderArchitecture", architecture ' Must be 64 of 32
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    67
	Set objLocator = CreateObject("Wbemscripting.SWbemLocator")
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    68
	Set objServices = objLocator.ConnectServer("","root\default","","",,,,objCtx)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    69
	Set objReg = objServices.Get("StdRegProv")
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    70
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    71
	' Check the hive and give it the right value
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    72
	Select Case shive
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    73
		Case "HKCR", "HKEY_CLASSES_ROOT"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    74
			hiveKey = &h80000000
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    75
		Case "HKCU", "HKEY_CURRENT_USER"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    76
			hiveKey = &H80000001
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    77
		Case "HKLM", "HKEY_LOCAL_MACHINE"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    78
			hiveKey = &h80000002
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    79
		Case "HKU", "HKEY_USERS"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    80
			hiveKey = &h80000003
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    81
		Case "HKCC", "HKEY_CURRENT_CONFIG"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    82
			hiveKey = &h80000005
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    83
		Case "HKDD", "HKEY_DYN_DATA" ' Only valid for Windows 95/98
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    84
			hiveKey = &h80000006
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    85
		Case Else
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    86
			MsgBox "Hive not valid (ReadRegistryKey)"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    87
	End Select
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    88
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    89
	Set Inparams = objReg.Methods_("GetStringValue").Inparameters
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    90
	Inparams.Hdefkey = hiveKey
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    91
	Inparams.Ssubkeyname = subkey
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    92
	Inparams.Svaluename = valuename
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    93
	Set Outparams = objReg.ExecMethod_("GetStringValue", Inparams,,objCtx)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    94
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    95
	ReadRegistryKey = Outparams.SValue
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    96
End Function
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
    97
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
    98
Function DetermineSVNVersion()
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
    99
	Dim WshShell, version, url, oExec, line
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   100
	Set WshShell = CreateObject("WScript.Shell")
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   101
	On Error Resume Next
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   102
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   103
	' Try TortoiseSVN
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   104
	' Get the directory where TortoiseSVN (should) reside(s)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   105
	Dim sTortoise
8702
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   106
	' First, try with 32-bit architecture
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   107
	sTortoise = ReadRegistryKey("HKLM", "SOFTWARE\TortoiseSVN", "Directory", 32)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   108
	If sTortoise = Nothing Then
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   109
		' No 32-bit version of TortoiseSVN installed, try 64-bit version (doesn't hurt on 32-bit machines, it returns nothing or is ignored)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   110
		sTortoise = ReadRegistryKey("HKLM", "SOFTWARE\TortoiseSVN", "Directory", 64)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   111
	End If
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   112
8702
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   113
	' If TortoiseSVN is installed, try to get the revision number
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   114
	If sTortoise <> Nothing Then
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   115
		Dim file
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   116
		' Write some "magic" to a temporary file so we can acquire the svn revision/state
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   117
		Set file = FSO.CreateTextFile("tsvn_tmp", -1, 0)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   118
		file.WriteLine "r$WCREV$$WCMODS?M:$"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   119
		file.WriteLine "$WCURL$"
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   120
		file.Close
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   121
		Set oExec = WshShell.Exec(sTortoise & "\bin\SubWCRev.exe ../src tsvn_tmp tsvn_tmp")
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   122
		' Wait till the application is finished ...
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   123
		Do
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   124
			OExec.StdOut.ReadLine()
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   125
		Loop While Not OExec.StdOut.atEndOfStream
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   126
8702
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   127
		Set file = FSO.OpenTextFile("tsvn_tmp", 1, 0, 0)
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   128
		version = file.ReadLine
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   129
		url = file.ReadLine
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   130
		file.Close
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   131
8702
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   132
		Set file = FSO.GetFile("tsvn_tmp")
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   133
		file.Delete
4488c1576a68 (svn r12375) -Fix [FS#1847]: revision detection failed to detect 64bit TortoiseSVN when ran from a 32bit MSVC on win64 system (Jafinto)
glx
parents: 7975
diff changeset
   134
	End If
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   135
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   136
	' Looks like there is no TortoiseSVN installed either. Then we don't know it.
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   137
	If InStr(version, "$") Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   138
		' Reset error and version
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   139
		Err.Clear
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   140
		version = "norev000"
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   141
		' Do we have subversion installed? Check immediatelly whether we've got a modified WC.
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   142
		Set oExec = WshShell.Exec("svnversion ../src")
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   143
		If Err.Number = 0 Then
9783
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   144
			' Wait till the application is finished ...
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   145
			Do While oExec.Status = 0
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   146
			Loop
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   147
		End If
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   148
		If Err.Number = 0 And oExec.ExitCode = 0 Then
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   149
			Dim modified
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   150
			If InStr(OExec.StdOut.ReadLine(), "M") Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   151
				modified = "M"
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   152
			Else
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   153
				modified = ""
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   154
			End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   155
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   156
			' Set the environment to english
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   157
			WshShell.Environment("PROCESS")("LANG") = "en"
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   158
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   159
			' And use svn info to get the correct revision and branch information.
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   160
			Set oExec = WshShell.Exec("svn info ../src")
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   161
			If Err.Number = 0 Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   162
				Do
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   163
					line = OExec.StdOut.ReadLine()
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   164
					If InStr(line, "URL") Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   165
						url = line
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   166
					End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   167
					If InStr(line, "Last Changed Rev") Then
7565
a7ce188ec44e (svn r11090) -Fix (r11089): incorrect version format and failure with paths containing spaces
glx
parents: 7564
diff changeset
   168
						version = "r" & Mid(line, 19) & modified
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   169
					End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   170
				Loop While Not OExec.StdOut.atEndOfStream
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   171
			End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   172
		End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   173
	End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   174
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   175
	If version <> "norev000" Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   176
		If InStr(url, "branches") Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   177
			url = Mid(url, InStr(url, "branches") + 8)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   178
			url = Mid(url, 1, InStr(2, url, "/") - 1)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   179
			version = version & Replace(url, "/", "-")
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   180
		End If
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   181
	Else
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   182
		' svn detection failed, reset error and try git
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   183
		Err.Clear
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   184
		Set oExec = WshShell.Exec("git rev-parse --verify --short=8 HEAD")
7975
d8f22e2ece0c (svn r11531) -Fix [FS#1459]: version determination did stall (read: never finish) when both svn and git were not installed.
rubidium
parents: 7917
diff changeset
   185
		If Err.Number = 0 Then
9783
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   186
			' Wait till the application is finished ...
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   187
			Do While oExec.Status = 0
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   188
			Loop
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   189
		End If
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   190
		If Err.Number = 0 And oExec.ExitCode = 0 Then
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   191
			version = "g" & oExec.StdOut.ReadLine()
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   192
			Set oExec = WshShell.Exec("git diff-index --exit-code --quiet HEAD ../src")
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   193
			Do While oExec.Status = 0 And Err.Number = 0
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   194
			Loop
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   195
			If Err.Number = 0 And oExec.ExitCode = 1 Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   196
				version = version & "M"
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   197
			End If
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   198
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   199
			Set oExec = WshShell.Exec("git symbolic-ref HEAD")
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   200
			If Err.Number = 0 Then
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   201
				line = oExec.StdOut.ReadLine()
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   202
				line = Mid(line, InStrRev(line, "/")+1)
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   203
				If line <> "master" Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   204
					version = version & "-" & line
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   205
				End If
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   206
			End If
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   207
		Else
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   208
			' try mercurial (hg)
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   209
			Err.Clear
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   210
			Set oExec = WshShell.Exec("hg tip")
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   211
			If Err.Number = 0 Then
9783
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   212
				' Wait till the application is finished ...
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   213
				Do While oExec.Status = 0
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   214
				Loop
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   215
			End If
4e3ca2698436 (svn r13924) -Fix (r11531): determineversion.vbs could fail to find the right version with hg
glx
parents: 9457
diff changeset
   216
			If Err.Number = 0 And oExec.ExitCode = 0 Then
7917
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   217
				version = "h" & Mid(OExec.StdOut.ReadLine(), 19, 8)
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   218
				Set oExec = WshShell.Exec("hg status ../src")
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   219
				If Err.Number = 0 Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   220
					Do
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   221
						line = OExec.StdOut.ReadLine()
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   222
						If Mid(line, 1, 1) <> "?" Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   223
							version = version & "M"
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   224
							Exit Do
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   225
						End If
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   226
					Loop While Not OExec.StdOut.atEndOfStream
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   227
				End If
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   228
				Set oExec = WshShell.Exec("hg branch")
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   229
				If Err.Number = 0 Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   230
						line = OExec.StdOut.ReadLine()
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   231
						If line <> "default" Then
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   232
							version = version & "-" & line
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   233
						End If
e6b7897c5a00 (svn r11470) -Codechange: add git detection to MSVC (michi_cc)
glx
parents: 7784
diff changeset
   234
				End If
7784
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   235
			End If
94d15bc396ce (svn r11334) -Codechange: add hg detection to MSVC
glx
parents: 7780
diff changeset
   236
		End If
7564
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   237
	End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   238
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   239
	DetermineSVNVersion = version
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   240
End Function
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   241
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   242
Function IsCachedVersion(version)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   243
	Dim cache_file, cached_version
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   244
	cached_version = ""
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   245
	Set cache_file = FSO.OpenTextFile("../config.cache.version", 1, True, 0)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   246
	If Not cache_file.atEndOfStream Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   247
		cached_version = cache_file.ReadLine()
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   248
	End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   249
	cache_file.Close
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   250
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   251
	If version <> cached_version Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   252
		Set cache_file = fso.CreateTextFile("../config.cache.version", True)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   253
		cache_file.WriteLine(version)
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   254
		cache_file.Close
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   255
		IsCachedVersion = False
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   256
	Else
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   257
		IsCachedVersion = True
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   258
	End If
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   259
End Function
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   260
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   261
Dim version
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   262
version = DetermineSVNVersion
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   263
If Not (IsCachedVersion(version) And FSO.FileExists("../src/rev.cpp") And FSO.FileExists("../src/ottdres.rc")) Then
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   264
	UpdateFiles version
fa54ab680589 (svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff changeset
   265
End If