Skip to content

Commit

Permalink
Release build script now finds the version string in version.h and ad…
Browse files Browse the repository at this point in the history
…justs the InnoSetup sources automatically.
  • Loading branch information
codereader committed Jan 11, 2020
1 parent 7e5db9b commit 671bf74
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 31 deletions.
2 changes: 1 addition & 1 deletion include/version.h
Expand Up @@ -2,7 +2,7 @@
#include <config.h>
#define RADIANT_VERSION PACKAGE_VERSION
#else
#define RADIANT_VERSION "2.7.0pre4"
#define RADIANT_VERSION "2.7.0pre5"
#endif

#define RADIANT_APPNAME "DarkRadiant"
Expand Down
14 changes: 8 additions & 6 deletions tools/innosetup/darkradiant.iss
@@ -1,17 +1,19 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define DarkRadiantVersion "2.7.0pre4"

[Setup]
AppName=DarkRadiant
AppVerName=DarkRadiant 2.7.0pre4 x86
AppVerName=DarkRadiant {#DarkRadiantVersion} x86
AppPublisher=The Dark Mod
AppPublisherURL=https://www.darkradiant.net
AppSupportURL=https://www.darkradiant.net
AppUpdatesURL=https://www.darkradiant.net
DefaultDirName={pf}\DarkRadiant
DefaultGroupName=DarkRadiant 2.7.0pre4 x86
DefaultGroupName=DarkRadiant {#DarkRadiantVersion} x86
OutputDir=.
OutputBaseFilename=darkradiant-2.7.0pre4-x86
OutputBaseFilename=darkradiant-{#DarkRadiantVersion}-x86
Compression=lzma
SolidCompression=yes
;ArchitecturesAllowed=x64
Expand All @@ -26,9 +28,9 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{
[Files]
Source: "..\..\install\darkradiant.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\install\*"; Excludes: "*.pdb,*.exp,*.lib,*.in,*.fbp,*.iobj,*.ipdb"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x86\Microsoft.VC142.CRT\msvcp140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x86\Microsoft.VC142.CRT\vcruntime140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x86\Microsoft.VC142.CRT\vcruntime140_1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x86\Microsoft.VC142.CRT\msvcp140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x86\Microsoft.VC142.CRT\vcruntime140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x86\Microsoft.VC142.CRT\vcruntime140_1.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Expand Down
14 changes: 8 additions & 6 deletions tools/innosetup/darkradiant.x64.iss
@@ -1,17 +1,19 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define DarkRadiantVersion "2.7.0pre5"

[Setup]
AppName=DarkRadiant
AppVerName=DarkRadiant 2.7.0pre4 x64
AppVerName=DarkRadiant {#DarkRadiantVersion} x64
AppPublisher=The Dark Mod
AppPublisherURL=https://www.darkradiant.net
AppSupportURL=https://www.darkradiant.net
AppUpdatesURL=https://www.darkradiant.net
DefaultDirName={pf}\DarkRadiant
DefaultGroupName=DarkRadiant 2.7.0pre4 x64
DefaultGroupName=DarkRadiant {#DarkRadiantVersion} x64
OutputDir=.
OutputBaseFilename=darkradiant-2.7.0pre4-x64
OutputBaseFilename=darkradiant-{#DarkRadiantVersion}-x64
Compression=lzma
SolidCompression=yes
ArchitecturesAllowed=x64
Expand All @@ -26,9 +28,9 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{
[Files]
Source: "..\..\install\darkradiant.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\install\*"; Excludes: "*.pdb,*.exp,*.lib,*.in,*.fbp,*.iobj,*.ipdb"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x64\Microsoft.VC142.CRT\msvcp140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x64\Microsoft.VC142.CRT\vcruntime140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x64\Microsoft.VC142.CRT\vcruntime140_1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x64\Microsoft.VC142.CRT\msvcp140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x64\Microsoft.VC142.CRT\vcruntime140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x64\Microsoft.VC142.CRT\vcruntime140_1.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Expand Down
44 changes: 26 additions & 18 deletions tools/scripts/compile_release_package.ps1
Expand Up @@ -40,23 +40,40 @@ $target = $args[0]

Write-Host ("Compiling for target: {0}" -f $target)

$versionRegex = "AppVerName=DarkRadiant (.*) $target"
$portableFilenameTemplate = "darkradiant-{0}-$target.portable.7z"
$pdbFilenameTemplate = "darkradiant-{0}-$target.pdb.7z"

$versionRegex = '#define RADIANT_VERSION "(.+)"'
$versionIncludeFile = "..\..\include\version.h"

# Extract the version string from the version.h file
$content = Get-Content $versionIncludeFile
$defaultVersionString = "X.Y.ZpreV"
$foundVersionString = $defaultVersionString

foreach ($line in $content)
{
if ($line -match $versionRegex)
{
$foundVersionString = $matches[1]
Write-Host ("Version is {0}" -f $matches[1])
break
}
}

if ($target -eq "x86")
{
$platform = "Win32"
$issFile = "..\innosetup\darkradiant.iss"
$portablePath = "DarkRadiant_install"
$redistSource = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x86\Microsoft.VC142.CRT"
$redistSource = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x86\Microsoft.VC142.CRT"
}
else
{
$platform = "x64"
$issFile = "..\innosetup\darkradiant.x64.iss"
$portablePath = "DarkRadiant_install.x64"
$redistSource = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x64\Microsoft.VC142.CRT"
$redistSource = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\x64\Microsoft.VC142.CRT"
}

if (-not $skipbuild)
Expand Down Expand Up @@ -98,24 +115,15 @@ else
Write-Host -ForegroundColor Yellow "Warning: cannot find the VC++ redist folder, won't copy runtime DLLs."
}

# Get the version from the innosetup file
$content = Get-Content $issFile
$defaultVersionString = "X.Y.ZpreV"
$foundVersionString = $defaultVersionString

foreach ($line in $content)
{
if ($line -match $versionRegex)
{
$foundVersionString = $matches[1]
Write-Host ("Version is {0}" -f $matches[1])
break
}
}

$portableFilename = "..\innosetup\" + ($portableFilenameTemplate -f $foundVersionString)
$pdbFilename = "..\innosetup\" + ($pdbFilenameTemplate -f $foundVersionString)

# Write the version to the innosetup source file
Write-Host ("Writing version {0} to InnoSetup file" -f $foundVersionString)
$issContent = Get-Content $issFile
$issContent = $issContent -replace '#define DarkRadiantVersion "(.+)"', ('#define DarkRadiantVersion "{0}"' -f $foundVersionString)
Set-Content -Path $issFile -Value $issContent

# Compile the installer package
Start-Process "compil32" -ArgumentList ("/cc", $issFile)

Expand Down

0 comments on commit 671bf74

Please sign in to comment.