diff --git a/.gitignore b/.gitignore index 1bffb6b..46accfc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -inc/version_tmp.h +inc/git.h # C++ Builder diff --git a/Makefile b/Makefile index f87824e..52c5804 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,8 @@ LIBS = -lgdi32 -lwinmm -ldbghelp -lole32 COMMIT := $(shell git describe --match=NeVeRmAtCh --always --dirty || echo "UNKNOWN") BRANCH := $(shell git rev-parse --abbrev-ref HEAD || echo "UNKNOWN") -ECOMMIT := $(shell echo "#define GIT_COMMIT" $(COMMIT) > inc/version_tmp.h) -EBRANCH := $(shell echo "#define GIT_BRANCH" $(BRANCH) >> inc/version_tmp.h) +ECOMMIT := $(shell echo "#define GIT_COMMIT" \"$(COMMIT)\" > inc/git.h) +EBRANCH := $(shell echo "#define GIT_BRANCH" \"$(BRANCH)\" >> inc/git.h) CC = i686-w64-mingw32-gcc WINDRES ?= i686-w64-mingw32-windres diff --git a/cnc-ddraw.vcxproj b/cnc-ddraw.vcxproj index 003f82c..e5c5955 100644 --- a/cnc-ddraw.vcxproj +++ b/cnc-ddraw.vcxproj @@ -232,17 +232,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -SET DST_FILE="inc/version_tmp.h" -SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" +set DST_FILE="inc/git.h" +set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="git.exe" +if not exist %GIT_PATH% set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" +if not exist %GIT_PATH% set GIT_PATH=git.exe -echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% -%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +for /f "tokens=*" %%I in ('%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty ^|^| echo UNKNOWN') do set GIT_COMMIT="%%I" +for /f "tokens=*" %%I in ('%GIT_PATH% rev-parse --abbrev-ref HEAD ^|^| echo UNKNOWN') do set GIT_BRANCH="%%I" -echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% -%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +echo #define GIT_COMMIT %GIT_COMMIT% > %DST_FILE% +echo #define GIT_BRANCH %GIT_BRANCH% >> %DST_FILE% SET ERRORLEVEL = 0 @@ -276,17 +276,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -SET DST_FILE="inc/version_tmp.h" -SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" +set DST_FILE="inc/git.h" +set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="git.exe" +if not exist %GIT_PATH% set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" +if not exist %GIT_PATH% set GIT_PATH=git.exe -echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% -%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +for /f "tokens=*" %%I in ('%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty ^|^| echo UNKNOWN') do set GIT_COMMIT="%%I" +for /f "tokens=*" %%I in ('%GIT_PATH% rev-parse --abbrev-ref HEAD ^|^| echo UNKNOWN') do set GIT_BRANCH="%%I" -echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% -%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +echo #define GIT_COMMIT %GIT_COMMIT% > %DST_FILE% +echo #define GIT_BRANCH %GIT_BRANCH% >> %DST_FILE% SET ERRORLEVEL = 0 @@ -320,17 +320,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -SET DST_FILE="inc/version_tmp.h" -SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" +set DST_FILE="inc/git.h" +set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="git.exe" +if not exist %GIT_PATH% set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" +if not exist %GIT_PATH% set GIT_PATH=git.exe -echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% -%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +for /f "tokens=*" %%I in ('%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty ^|^| echo UNKNOWN') do set GIT_COMMIT="%%I" +for /f "tokens=*" %%I in ('%GIT_PATH% rev-parse --abbrev-ref HEAD ^|^| echo UNKNOWN') do set GIT_BRANCH="%%I" -echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% -%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +echo #define GIT_COMMIT %GIT_COMMIT% > %DST_FILE% +echo #define GIT_BRANCH %GIT_BRANCH% >> %DST_FILE% SET ERRORLEVEL = 0 @@ -364,17 +364,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -SET DST_FILE="inc/version_tmp.h" -SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" +set DST_FILE="inc/git.h" +set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="git.exe" +if not exist %GIT_PATH% set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" +if not exist %GIT_PATH% set GIT_PATH=git.exe -echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% -%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +for /f "tokens=*" %%I in ('%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty ^|^| echo UNKNOWN') do set GIT_COMMIT="%%I" +for /f "tokens=*" %%I in ('%GIT_PATH% rev-parse --abbrev-ref HEAD ^|^| echo UNKNOWN') do set GIT_BRANCH="%%I" -echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% -%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +echo #define GIT_COMMIT %GIT_COMMIT% > %DST_FILE% +echo #define GIT_BRANCH %GIT_BRANCH% >> %DST_FILE% SET ERRORLEVEL = 0 @@ -408,17 +408,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -SET DST_FILE="inc/version_tmp.h" -SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" +set DST_FILE="inc/git.h" +set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" -if not exist %GIT_PATH% SET GIT_PATH="git.exe" +if not exist %GIT_PATH% set GIT_PATH="$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe" +if not exist %GIT_PATH% set GIT_PATH=git.exe -echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% -%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +for /f "tokens=*" %%I in ('%GIT_PATH% describe --match=NeVeRmAtCh --always --dirty ^|^| echo UNKNOWN') do set GIT_COMMIT="%%I" +for /f "tokens=*" %%I in ('%GIT_PATH% rev-parse --abbrev-ref HEAD ^|^| echo UNKNOWN') do set GIT_BRANCH="%%I" -echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% -%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% +echo #define GIT_COMMIT %GIT_COMMIT% > %DST_FILE% +echo #define GIT_BRANCH %GIT_BRANCH% >> %DST_FILE% SET ERRORLEVEL = 0 diff --git a/res.rc b/res.rc index aefa936..46f3908 100644 --- a/res.rc +++ b/res.rc @@ -1,5 +1,5 @@ #include "inc/version.h" -#include "inc/version_tmp.h" +#include "inc/git.h" 1 VERSIONINFO @@ -12,13 +12,13 @@ PRODUCTVERSION VERSION { VALUE "CompanyName", "github.com/FunkyFr3sh" VALUE "FileDescription", "DirectDraw replacement" - VALUE "FileVersion", VERSION_STRING " (git~" git_str(GIT_COMMIT) ", " git_str(GIT_BRANCH) ")" + VALUE "FileVersion", VERSION_STRING " (git~" GIT_COMMIT ", " GIT_BRANCH ")" VALUE "InternalName", "ddraw" VALUE "LegalCopyright", "Copyright (c) 2010-2024" VALUE "LegalTrademarks", "" VALUE "OriginalFileName", "ddraw.dll" VALUE "ProductName", "cnc-ddraw" - VALUE "ProductVersion", VERSION_STRING " (git~" git_str(GIT_COMMIT) ", " git_str(GIT_BRANCH) ")" + VALUE "ProductVersion", VERSION_STRING " (git~" GIT_COMMIT ", " GIT_BRANCH ")" VALUE "Comments", "https://github.com/FunkyFr3sh/cnc-ddraw" } } diff --git a/src/debug.c b/src/debug.c index ac0990e..52f81ad 100644 --- a/src/debug.c +++ b/src/debug.c @@ -8,7 +8,7 @@ #include "debug.h" #include "hook.h" #include "version.h" -#include "version_tmp.h" +#include "git.h" #include "versionhelpers.h" @@ -158,8 +158,8 @@ void dbg_init() VERSION_MINOR, VERSION_BUILD, VERSION_REVISION, - git_str(GIT_COMMIT), - git_str(GIT_BRANCH)); + GIT_COMMIT, + GIT_BRANCH); HKEY hkey; LONG status =