parent
3d6eb112e6
commit
e57fa5d28e
@ -0,0 +1,3 @@ |
||||
# Ignore updates to the auto-generated build version. |
||||
SMXBuildVersion.h |
||||
|
@ -0,0 +1,43 @@ |
||||
@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 |
Loading…
Reference in new issue