You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
SMX_PGE/sdk/Windows/update-build-version.bat

43 lines
1.3 KiB

@echo off
setlocal ENABLEDELAYEDEXPANSION
rem A good old 80s batch file, because it's guaranteed to always be available.
rem This assumes git is in the path.
for /F %%I in ('git describe --always --dirty') do set GITVER=%%I
if "%GITVER%" == "" goto git_error
rem Replace -dirty with -devel, to indicate builds with uncommitted changes.
set GITVER=%GITVER:-dirty=-devel%
goto continue
:git_error
rem If calling git fails for some reason, put a message in the version instead of
rem letting it be blank.
set GITVER=git failed
:continue
rem Output the current version to a temp file.
set TEMP_FILE=%TEMP%\temp-SMXBuildVersion.h
set OUTPUT_FILE=SMXBuildVersion.h
echo // This file is auto-generated by update-build-version.bat. > %TEMP_FILE%
echo. >> %TEMP_FILE%
echo #ifndef SMXBuildVersion_h >> %TEMP_FILE%
echo #define SMXBuildVersion_h >> %TEMP_FILE%
echo. >> %TEMP_FILE%
echo #define SMX_BUILD_VERSION "%GITVER%" >> %TEMP_FILE%
echo. >> %TEMP_FILE%
echo #endif >> %TEMP_FILE%
rem Compare the temp file to any existing file. Only copy the new file over the old
rem one if it's different, so we don't trigger dependency rebuilds every time.
fc %TEMP_FILE% %OUTPUT_FILE% > nul
if %errorlevel% == 0 goto end
echo Updated to version %GITVER%
copy %TEMP_FILE% %OUTPUT_FILE% > nul
:end