Merge pull request #272 from m1geo/master

Added git commit version ID to MMDVMHost startup
This commit is contained in:
Jonathan Naylor 2017-03-10 07:45:15 +00:00 committed by GitHub
commit 1146a0f05f
11 changed files with 117 additions and 20 deletions

1
.gitignore vendored
View file

@ -15,3 +15,4 @@ MMDVMHost
*.VC.db
.vs
*.ambe
GitVersion.h

View file

@ -33,6 +33,7 @@
#include "LCDproc.h"
#include "Thread.h"
#include "Log.h"
#include "GitVersion.h"
#if defined(HD44780)
#include "HD44780.h"
@ -235,6 +236,7 @@ int CMMDVMHost::run()
LogInfo(HEADER4);
LogMessage("MMDVMHost-%s is starting", VERSION);
LogMessage("Built %s %s (GitID #%.7s)", __TIME__, __DATE__, gitversion);
readParams();

View file

@ -108,6 +108,12 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PreBuildEvent>
<Command>"$(ProjectDir)prebuild.cmd" $(ProjectDir)</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>prebuild.cmd generates GitVersion.h from git refs heads master</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View file

@ -15,12 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

View file

@ -15,12 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

View file

@ -15,12 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

View file

@ -15,12 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

View file

@ -15,12 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

View file

@ -15,11 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

View file

@ -15,12 +15,19 @@ OBJECTS = \
all: MMDVMHost
MMDVMHost: $(OBJECTS)
MMDVMHost: gitversion.h $(OBJECTS)
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
clean:
$(RM) MMDVMHost *.o *.d *.bak *~
$(RM) MMDVMHost *.o *.d *.bak *~ gitversion.h
# Export the current git version if the index file exists, else 000...
gitversion.h:
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif

38
prebuild.cmd Normal file
View file

@ -0,0 +1,38 @@
@echo off
REM This pre-build file is for MSVS VC++. It parses the git master hash and
REM converts it into GitVersion.h for compiling into builds. [George M1GEO]
cd %1
setlocal enabledelayedexpansion
set HEADFILE=.git\HEAD
set HASHFILE=0
if exist %HEADFILE% (
for /F "tokens=4 delims=/:" %%a in ('type %HEADFILE%') do set HEADBRANCH=%%a
set HASHFILE=.git\refs\heads\!HEADBRANCH!
echo Found Git HEAD file: %HEADFILE%
echo Git HEAD branch: !HEADBRANCH!
echo Git HASH file: !HASHFILE!
call :USEHASH
) else (
echo No head file :(
call :USENULL
)
goto :EOF
:USENULL
set GITHASH=0000000000000000000000000000000000000000
goto :WRITEGITVERSIONHEADER
:USEHASH
for /f %%i in ('type !HASHFILE!') do set GITHASH=%%i
goto :WRITEGITVERSIONHEADER
:WRITEGITVERSIONHEADER
echo // File contains Git commit ID SHA1 present at buildtime (prebuild.cmd) > GitVersion.h
echo const char *gitversion = "%GITHASH%"; >> GitVersion.h
echo Current Git HASH: %GITHASH%
goto :FINISHED
:FINISHED
echo GitVersion.h written...