diff options
Diffstat (limited to 'win32/genversion.bat')
-rw-r--r-- | win32/genversion.bat | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/win32/genversion.bat b/win32/genversion.bat new file mode 100644 index 00000000..7934ebfa --- /dev/null +++ b/win32/genversion.bat @@ -0,0 +1,46 @@ +@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 # static version string; update manually every release.> "%~dp0..\version.mk" +echo %version_mk%>> "%~dp0..\version.mk" + +:skipgenerate + +echo n | comp %1_temp %1 > NUL 2> NUL + +if not errorlevel 1 goto exit + +copy /y %1_temp %1 + +:exit + +del %1_temp |