diff --git a/win32/genversion.bat b/win32/genversion.bat index 9bc6917f29606f4b183edec3459c030297ac09e8..3a3d7cde59f747705705302d3fc755e1c51ad6e8 100644 --- a/win32/genversion.bat +++ b/win32/genversion.bat @@ -1,10 +1,38 @@ @echo off +setlocal enableextensions enabledelayedexpansion + for /f %%v in ('git describe --tags --match "v*"') do set version=%%v +if not "%version%"=="" goto :gotversion + +if exist "%~dp0..\version.mk" goto :getversion + +echo Git cannot be found, nor can version.mk. Generating unknown version. + +set version=unknown + +goto :gotversion + +:getversion + +for /f "delims== tokens=2" %%v in (%~dp0..\version.mk) do set version=%%v + +set version=!version:^"=! +set version=!version: =! + +:gotversion + set version_out=#define %2 "%version%" +set version_mk=%2 = "%version%" + +echo %version_out%> %1_temp + +if %version%==unknown goto :skipgenerate + +echo %version_mk%> "%~dp0..\version.mk" -echo %version_out% > %1_temp +:skipgenerate echo n | comp %1_temp %1 > NUL 2> NUL