diff --git a/MakeBuildVer.bat b/MakeBuildVer.bat index a129b0919..90c4dff28 100644 --- a/MakeBuildVer.bat +++ b/MakeBuildVer.bat @@ -1,41 +1,44 @@ @echo off +setlocal if not exist MakeBuildVer.bat cd .. +rem === Get the most recent tag matching our prefix === git describe --tags --match "RAIntegration.*" > Temp.txt set /p ACTIVE_TAG= Temp.txt for /F "usebackq" %%A in ('"Temp.txt"') do set DIFF_FILE_SIZE=%%~zA if %DIFF_FILE_SIZE% GTR 0 ( set ACTIVE_TAG=Unstaged changes - set VERSION_MODIFIED=1 -) else ( - set VERSION_MODIFIED=0 + set /A VERSION_REVISION=VERSION_REVISION+1 ) +rem === If on a branch, append the branch name to the product version === git rev-parse --abbrev-ref HEAD > Temp.txt set /p ACTIVE_BRANCH= RA_BuildVer.h +rem === Generate a new version file === +@echo Tag: %ACTIVE_TAG% (%VERSION_TAG%) + +echo #define RA_INTEGRATION_VERSION "%VERSION_MAJOR%.%VERSION_MINOR%.%VERSION_PATCH%.%VERSION_REVISION%" > RA_BuildVer.h echo #define RA_INTEGRATION_VERSION_MAJOR %VERSION_MAJOR% >> RA_BuildVer.h echo #define RA_INTEGRATION_VERSION_MINOR %VERSION_MINOR% >> RA_BuildVer.h +echo #define RA_INTEGRATION_VERSION_PATCH %VERSION_PATCH% >> RA_BuildVer.h echo #define RA_INTEGRATION_VERSION_REVISION %VERSION_REVISION% >> RA_BuildVer.h -echo #define RA_INTEGRATION_VERSION_MODIFIED %VERSION_MODIFIED% >> RA_BuildVer.h echo #define RA_INTEGRATION_VERSION_PRODUCT "%VERSION_PRODUCT%" >> RA_BuildVer.h +rem === Update the existing file only if the new file differs === if not exist src\RA_BuildVer.h goto nonexistant fc src\RA_BuildVer.h RA_BuildVer.h > nul if errorlevel 1 goto different @@ -47,5 +50,5 @@ del src\RA_BuildVer.h move RA_BuildVer.h src\RA_BuildVer.h > nul :done - +rem === Clean up after ourselves === del Temp.txt diff --git a/src/RA_Version.rc b/src/RA_Version.rc index 05b87d55d..1e38baaa7 100644 --- a/src/RA_Version.rc +++ b/src/RA_Version.rc @@ -51,8 +51,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION RA_INTEGRATION_VERSION_MAJOR, RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_REVISION, RA_INTEGRATION_VERSION_MODIFIED - PRODUCTVERSION RA_INTEGRATION_VERSION_MAJOR, RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_REVISION, RA_INTEGRATION_VERSION_MODIFIED + FILEVERSION RA_INTEGRATION_VERSION_MAJOR, RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_PATCH, RA_INTEGRATION_VERSION_REVISION + PRODUCTVERSION RA_INTEGRATION_VERSION_MAJOR, RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_PATCH, RA_INTEGRATION_VERSION_REVISION FILEFLAGSMASK VS_FFI_FILEFLAGSMASK #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG | RA_INTEGRATION_IS_PRERELEASE @@ -69,7 +69,7 @@ BEGIN BEGIN VALUE "CompanyName", "retroachievements.org" VALUE "FileDescription", "RetroAchievements Integration Toolkit" - VALUE "FileVersion", RA_INTEGRATION_VERSION_MAJOR, RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_REVISION, RA_INTEGRATION_VERSION_MODIFIED + VALUE "FileVersion", RA_INTEGRATION_VERSION_MAJOR, RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_PATCH, RA_INTEGRATION_VERSION_REVISION VALUE "InternalName", "RA_Integration" VALUE "LegalCopyright", "Copyright (C) 2018 retroachievements.org" VALUE "OriginalFilename", "RA_Integration.dll" diff --git a/src/RA_httpthread.cpp b/src/RA_httpthread.cpp index 86b517c8a..3175f89eb 100644 --- a/src/RA_httpthread.cpp +++ b/src/RA_httpthread.cpp @@ -101,8 +101,8 @@ BOOL RequestObject::ParseResponseToJSON(rapidjson::Document& rDocOut) static void AppendIntegrationVersion(_Inout_ std::string& sUserAgent) { sUserAgent.append(ra::StringPrintf("%d.%d.%d.%d", RA_INTEGRATION_VERSION_MAJOR, - RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_REVISION, - RA_INTEGRATION_VERSION_MODIFIED)); + RA_INTEGRATION_VERSION_MINOR, RA_INTEGRATION_VERSION_PATCH, + RA_INTEGRATION_VERSION_REVISION)); if constexpr (_CONSTANT_LOC pos{ std::string_view{ RA_INTEGRATION_VERSION_PRODUCT }.find('-') }; pos != std::string_view::npos) {