From 8c6925294f4e63e2011462c5ba0a814211082c65 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sun, 11 Mar 2018 00:13:22 -0600 Subject: [PATCH] Nmakefile, build.cmd: Set the build information in Nmakefile. If there is no .git directory, assume we are on master branch. Fixes #1970. --- Nmakefile | 30 ++++++++++++++++++++++++++---- build.cmd | 10 ++++------ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/Nmakefile b/Nmakefile index 3dd0b60cda..81751fff1a 100644 --- a/Nmakefile +++ b/Nmakefile @@ -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 +!IF [rm git-describe.tmp] == 0 +!ENDIF +!ENDIF + +!IF [git rev-parse HEAD > git-id.tmp] == 0 +GIT_ID = \ +!INCLUDE +!IF [rm git-id.tmp] == 0 +!ENDIF !ENDIF -!IF !DEFINED(GIT_LABEL) -GIT_LABEL = git-label-missing +!IF [git rev-parse --abbrev-ref HEAD > git-branch.tmp] == 0 +GIT_BRANCH = \ +!INCLUDE +!IF [rm git-branch.tmp] == 0 !ENDIF +!ENDIF + +GIT_LABEL = $(GIT_DESCRIBE)-$(GIT_ID) !IF DEFINED(PLATFORM) diff --git a/build.cmd b/build.cmd index 0ba6ede3cb..757bf45f37 100644 --- a/build.cmd +++ b/build.cmd @@ -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 -- 2.34.1