diff --git a/Makefile b/Makefile index 626761a..35ef6e3 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,15 @@ -include config.mk TARGET = ddraw.dll -GIT_REV := $(shell git rev-parse --short @{0} || echo "UNKNOWN") -GIT_FILE := $(shell echo "#define GIT_COMMIT" $(GIT_REV) > inc/version_tmp.h) LDFLAGS = -Wl,--enable-stdcall-fixup -s -static -shared CFLAGS = -Iinc -O2 -march=i486 -Wall LIBS = -lgdi32 -lwinmm -ldbghelp -lole32 +REV := $(shell git rev-parse --short HEAD || echo "UNKNOWN") +BRANCH := $(shell git rev-parse --abbrev-ref HEAD || echo "UNKNOWN") +EREV := $(shell echo "#define GIT_COMMIT" $(REV) > inc/version_tmp.h) +EBRANCH := $(shell echo "#define GIT_BRANCH" $(BRANCH) >> inc/version_tmp.h) + CC = i686-w64-mingw32-gcc WINDRES ?= i686-w64-mingw32-windres diff --git a/cnc-ddraw.vcxproj b/cnc-ddraw.vcxproj index 36a4677..0658bb2 100644 --- a/cnc-ddraw.vcxproj +++ b/cnc-ddraw.vcxproj @@ -232,8 +232,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -echo | set /p dummyName=#define GIT_COMMIT > inc/version_tmp.h -"$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || "$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || git rev-parse --short HEAD >> inc/version_tmp.h || echo UNKNOWN >> inc/version_tmp.h +SET DST_FILE="inc/version_tmp.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" + +echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% +%GIT_PATH% rev-parse --short HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% + +echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% +%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% SET ERRORLEVEL = 0 @@ -267,8 +276,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -echo | set /p dummyName=#define GIT_COMMIT > inc/version_tmp.h -"$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || "$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || git rev-parse --short HEAD >> inc/version_tmp.h || echo UNKNOWN >> inc/version_tmp.h +SET DST_FILE="inc/version_tmp.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" + +echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% +%GIT_PATH% rev-parse --short HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% + +echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% +%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% SET ERRORLEVEL = 0 @@ -302,8 +320,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -echo | set /p dummyName=#define GIT_COMMIT > inc/version_tmp.h -"$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || "$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || git rev-parse --short HEAD >> inc/version_tmp.h || echo UNKNOWN >> inc/version_tmp.h +SET DST_FILE="inc/version_tmp.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" + +echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% +%GIT_PATH% rev-parse --short HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% + +echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% +%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% SET ERRORLEVEL = 0 @@ -337,8 +364,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -echo | set /p dummyName=#define GIT_COMMIT > inc/version_tmp.h -"$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || "$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || git rev-parse --short HEAD >> inc/version_tmp.h || echo UNKNOWN >> inc/version_tmp.h +SET DST_FILE="inc/version_tmp.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" + +echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% +%GIT_PATH% rev-parse --short HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% + +echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% +%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% SET ERRORLEVEL = 0 @@ -372,8 +408,17 @@ if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDe -echo | set /p dummyName=#define GIT_COMMIT > inc/version_tmp.h -"$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || "$(DevEnvDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git" rev-parse --short HEAD >> inc/version_tmp.h || git rev-parse --short HEAD >> inc/version_tmp.h || echo UNKNOWN >> inc/version_tmp.h +SET DST_FILE="inc/version_tmp.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" + +echo | set /p dummyName=#define GIT_COMMIT > %DST_FILE% +%GIT_PATH% rev-parse --short HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% + +echo | set /p dummyName=#define GIT_BRANCH >> %DST_FILE% +%GIT_PATH% rev-parse --abbrev-ref HEAD >> %DST_FILE% || echo UNKNOWN >> %DST_FILE% SET ERRORLEVEL = 0 diff --git a/res.rc b/res.rc index 9bf5f3d..aefa936 100644 --- a/res.rc +++ b/res.rc @@ -12,13 +12,13 @@ PRODUCTVERSION VERSION { VALUE "CompanyName", "github.com/FunkyFr3sh" VALUE "FileDescription", "DirectDraw replacement" - VALUE "FileVersion", VERSION_STRING " (git~" git_str(GIT_COMMIT) ")" + VALUE "FileVersion", VERSION_STRING " (git~" git_str(GIT_COMMIT) ", " git_str(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) ")" + VALUE "ProductVersion", VERSION_STRING " (git~" git_str(GIT_COMMIT) ", " git_str(GIT_BRANCH) ")" VALUE "Comments", "https://github.com/FunkyFr3sh/cnc-ddraw" } } diff --git a/src/debug.c b/src/debug.c index 27304cb..ac0990e 100644 --- a/src/debug.c +++ b/src/debug.c @@ -153,12 +153,13 @@ void dbg_init() } TRACE( - "cnc-ddraw version = %d.%d.%d.%d (git~%s)\n", + "cnc-ddraw version = %d.%d.%d.%d (git~%s, %s)\n", VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION, - git_str(GIT_COMMIT)); + git_str(GIT_COMMIT), + git_str(GIT_BRANCH)); HKEY hkey; LONG status =