]> gitweb.factorcode.org Git - factor.git/commitdiff
Nmakefile, build.cmd: Set the build information in Nmakefile.
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 11 Mar 2018 06:13:22 +0000 (00:13 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 11 Mar 2018 06:14:03 +0000 (00:14 -0600)
If there is no .git directory, assume we are on master branch.

Fixes #1970.

Nmakefile
build.cmd

index 3dd0b60cda4a47fe7ffe6d3c21282a935ad18f6b..81751fff1af840edbeedc3fe374347ab4a8196db 100644 (file)
--- 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 <git-describe.tmp>
+!IF [rm git-describe.tmp] == 0
+!ENDIF
+!ENDIF
+
+!IF [git rev-parse HEAD > git-id.tmp] == 0
+GIT_ID = \
+!INCLUDE <git-id.tmp>
+!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 <git-branch.tmp>
+!IF [rm git-branch.tmp] == 0
 !ENDIF
+!ENDIF
+
+GIT_LABEL = $(GIT_DESCRIBE)-$(GIT_ID)
 
 !IF DEFINED(PLATFORM)
 
index 0ba6ede3cbff7c5c55daf84cb528653d990a7878..757bf45f37a67e394dcf1914d86b99d7535353e1 100644 (file)
--- 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