2021-10-23 14:58:05 +00:00
$tag = git describe - -tags - -always
if ( -Not ( $tag -match " .+\..+\..+\..+ " ) ) {
$tag = " 0.0.0. " + $tag
}
$commatag = $tag -replace " \. " , " , "
$commatag = $commatag -replace " - " , " 0 "
$commatag = $commatag -replace " [A-z] " , " 0 "
( ( Get-Content -path . / Resource . rc -Raw ) -replace " FILEVERSION .*,.*,.*,.* " , ( " FILEVERSION " + $commatag ) ) | Set-Content -Path . / Resource . rc
( ( Get-Content -path . / Resource . rc -Raw ) -replace " PRODUCTVERSION .*,.*,.*,.* " , ( " PRODUCTVERSION " + $commatag ) ) | Set-Content -Path . / Resource . rc
( ( Get-Content -path . / Resource . rc -Raw ) -replace '"FileVersion", ".*"' , ( '"FileVersion", "' + $tag + '"' ) ) | Set-Content -Path . / Resource . rc
2022-06-16 20:17:16 +00:00
( ( Get-Content -path . / Resource . rc -Raw ) -replace '"ProductVersion", ".*"' , ( '"ProductVersion", "' + $tag + '"' ) ) | Set-Content -Path . / Resource . rc
2022-09-25 12:29:52 +00:00
$cleanTag = git describe - -tags - -abbrev = 0
$versionFileText = "
/ * Autogenerated version info file * /
#pragma once
namespace version {
inline const auto VERSION_STR = " " $tag " " ;
inline const auto IS_SNAPSHOT = $ ( If ( $tag . Length -gt 10 ) { 'true' } Else { 'false' } ) ;
inline const auto VERSION_MAJOR = $ ( $cleanTag . Split ( '.' ) [ 0 ] ) ;
inline const auto VERSION_MINOR = $ ( $cleanTag . Split ( '.' ) [ 1 ] ) ;
inline const auto VERSION_PATCH = $ ( $cleanTag . Split ( '.' ) [ 2 ] ) ;
inline const auto VERSION_REVISION = $ ( $cleanTag . Split ( '.' ) [ 3 ] ) ;
}
"
if ( ! ( Test-Path '../version.hpp' ) ) {
New-Item -Path " .. " -Name " version.hpp " -ItemType " file " -Value $versionFileText
} else {
Set-Content -Path " ../version.hpp " -Value $versionFileText
}
2022-06-16 20:17:16 +00:00
if ( ( Test-Path '../Installer/Installer.nsi' ) ) {
( ( Get-Content -path '../Installer/Installer.nsi' -Raw ) -replace '!define VERSION ".*"' , ( '!define VERSION "' + $tag + '"' ) ) | Set-Content -Path '../Installer/Installer.nsi'
}