Nmakefile, build.cmd: Set the build information in Nmakefile.

If there is no .git directory, assume we are on master branch.

Fixes #1970.
windows-high-dpi
Doug Coleman 2018-03-11 00:13:22 -06:00
parent 0a9752fcc9
commit 8c6925294f
2 changed files with 30 additions and 10 deletions

View File

@ -1,10 +1,32 @@
!IF !DEFINED(VERSION)
VERSION = version-missing
VERSION = 0.98
# Crazy hack to do shell commands
# We do it in Nmakefile because that way we don't have to invoke build through build.cmd
# and we can just do ``nmake /f Nmakefile x86-64-vista`` or similar
# and we still get the git branch, id, etc
!IF [git describe --all > git-describe.tmp] == 0
GIT_DESCRIBE = \
!INCLUDE <git-describe.tmp>
!IF [rm git-describe.tmp] == 0
!ENDIF
!ENDIF
!IF !DEFINED(GIT_LABEL)
GIT_LABEL = git-label-missing
!IF [git rev-parse HEAD > git-id.tmp] == 0
GIT_ID = \
!INCLUDE <git-id.tmp>
!IF [rm git-id.tmp] == 0
!ENDIF
!ENDIF
!IF [git rev-parse --abbrev-ref HEAD > git-branch.tmp] == 0
GIT_BRANCH = \
!INCLUDE <git-branch.tmp>
!IF [rm git-branch.tmp] == 0
!ENDIF
!ENDIF
GIT_LABEL = $(GIT_DESCRIBE)-$(GIT_ID)
!IF DEFINED(PLATFORM)

View File

@ -1,10 +1,11 @@
@echo off
setlocal
: Fun syntax
for /f %%x in ('git describe --all') do set GIT_DESCRIBE=%%x
for /f %%y in ('git rev-parse HEAD') do set GIT_ID=%%y
: Check which branch we are on, or just assume master if we are not in a git repository
for /f %%z in ('git rev-parse --abbrev-ref HEAD') do set GIT_BRANCH=%%z
if %GIT_BRANCH% =="" (
GIT_BRANCH = "master"
)
if "%1"=="/?" (
goto usage
@ -34,9 +35,6 @@ if not errorlevel 1 (
) else goto nocl
)
set git_label=%GIT_DESCRIBE%-%GIT_ID%
set version=0.98
echo Deleting staging images from temp/...
del temp\staging.*.image