vgmstream/version-make.bat

49 lines
1.2 KiB
Batchfile
Raw Normal View History

2013-06-14 03:05:02 +02:00
@echo off
setlocal enableextensions enabledelayedexpansion
2013-06-14 03:05:02 +02:00
REM creates or updates version_auto.h
REM params: $1=filename (usually version_auto.h), $2=VARNAME (usually VGMSTREAM_VERSION)
2013-06-14 03:05:02 +02:00
2021-08-07 17:06:45 +02:00
REM defaults
set VERSION_DEFAULT=unknown
set VERSION_FILE=%1
set VERSION_NAME=%2
if "%~1" == "" set VERSION_FILE=version_auto.h
if "%~2" == "" set VERSION_NAME=VGMSTREAM_VERSION
2015-08-31 03:43:50 +02:00
if not "%VERSION%"=="" set VERSION=!VERSION:^:=_!
2013-06-14 03:05:02 +02:00
2021-08-07 17:06:45 +02:00
cd /d "%~dp0"
2013-06-14 03:05:02 +02:00
REM try get version from Git (dynamic)
:get_version_git
for /f %%v in ('git describe --always') do set VERSION=%%v
if not "%VERSION%"=="" set VERSION=!VERSION:^:=_!
if "%VERSION%"=="" goto :get_version_h
if %VERSION%==%VERSION_DEFAULT% goto :get_version_h
set LINE=#define %VERSION_NAME% "%VERSION%" /* autogenerated */
echo %LINE% > %VERSION_FILE%
goto :exit
2013-06-14 03:05:02 +02:00
REM try to get version from version.h (static)
:get_version_h
echo Git version not found, can't autogenerate version_auto.h
set LINE=#define %VERSION_NAME% "%VERSION_DEFAULT%" /* autogenerated */
if exist "version.h" (
for /F "tokens=*" %%v in (version.h) do (
set TOKEN=%%v
REM set COMP=#define %VERSION_NAME% #todo
if /i "!TOKEN:~0,25!"=="#define VGMSTREAM_VERSION" set LINE=%%v
)
)
2013-06-14 03:05:02 +02:00
echo %LINE% > %VERSION_FILE%
goto :exit
2013-06-14 03:05:02 +02:00
REM done
2013-06-14 03:05:02 +02:00
:exit