summary refs log tree commit diff stats
path: root/win32/version-template.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'win32/version-template.ps1')
-rw-r--r--win32/version-template.ps112
1 files changed, 12 insertions, 0 deletions
diff --git a/win32/version-template.ps1 b/win32/version-template.ps1
new file mode 100644
index 00000000..18eb90d9
--- /dev/null
+++ b/win32/version-template.ps1
@@ -0,0 +1,12 @@
+param ([string] $templateFilename, [string] $outputFilename)
+
+$versionParts = Select-String -Path "${env:SOLUTIONDIR}configure.ac" -Pattern '^AC_INIT\(\[HexChat\],\[([^]]+)\]\)$' | Select-Object -First 1 | %{ $_.Matches[0].Groups[1].Value.Split('.') }
+
+[string[]] $contents = Get-Content $templateFilename -Encoding UTF8 | %{
+	while ($_ -match '^(.*?)<#=(.*?)#>(.*?)$') {
+		$_ = $Matches[1] + $(Invoke-Expression $Matches[2]) + $Matches[3]
+	}
+	$_
+}
+
+[System.IO.File]::WriteAllLines($outputFilename, $contents)