diff --git a/RAMeka/meka/srcs/projects/msvc/MakeBuildVer.bat b/RAMeka/meka/srcs/projects/msvc/MakeBuildVer.bat index 36a60f69..05340daf 100644 --- a/RAMeka/meka/srcs/projects/msvc/MakeBuildVer.bat +++ b/RAMeka/meka/srcs/projects/msvc/MakeBuildVer.bat @@ -1,24 +1,28 @@ @echo off +setlocal +rem === Get the most recent tag matching our prefix === git describe --tags --match "RAMeka.*" > 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 ) -@echo Tag: %ACTIVE_TAG% (%VERSION_NUM%) -@echo #define RAMEKA_VERSION "0.%VERSION_NUM%.%VERSION_REVISION%.%VERSION_MODIFIED%" > BuildVer2.h +rem === Generate a new version file === +@echo Tag: %ACTIVE_TAG% (%VERSION_TAG%) +@echo #define RAMEKA_VERSION "%VERSION_NUM%.%VERSION_REVISION%" > BuildVer2.h +rem === Update the existing file only if the new file differs === if not exist ..\..\BuildVer.h goto nonexistant fc ..\..\BuildVer.h BuildVer2.h > nul if errorlevel 1 goto different @@ -30,4 +34,5 @@ del ..\..\BuildVer.h move BuildVer2.h ..\..\BuildVer.h > nul :done +rem === Clean up after ourselves === del Temp.txt