aboutsummaryrefslogtreecommitdiffhomepage
path: root/build_tools
diff options
context:
space:
mode:
authorGravatar Ian Ray <ianjray@me.com>2015-09-27 10:13:01 +0300
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2015-09-29 14:55:51 -0700
commit9ecd73d956198ea0c545db8769471e5ea8c8fb02 (patch)
treeebc2c65c3a72452cd49fc9c286f9052a78ad9fe4 /build_tools
parentb9b39f7c31d2514788f7b3bbacb966ad15578b5e (diff)
Generate version numbers for Xcode builds
Teach Xcode to run new script xcode_version_gen.sh before building the fish_shell and fish_indent targets. The script generates file fish-build-version.h for inclusion by fish_version.cpp. Note that Xcode always runs the script because of the phony target named force-fish-build-version.h, but fish-build-version.h is only touched if the contents of FISH-BUILD-VERSION-FILE change. Fixes #890
Diffstat (limited to 'build_tools')
-rwxr-xr-xbuild_tools/xcode_version_gen.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/build_tools/xcode_version_gen.sh b/build_tools/xcode_version_gen.sh
new file mode 100755
index 00000000..5bc26145
--- /dev/null
+++ b/build_tools/xcode_version_gen.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Expects to be called from Xcode (Run Script build phase),
+# write version number C preprocessor macro to header file.
+
+tmp="$SCRIPT_OUTPUT_FILE_1"
+ver="$SCRIPT_OUTPUT_FILE_0"
+
+./build_tools/git_version_gen.sh
+
+cat FISH-BUILD-VERSION-FILE | awk '{printf("#define %s \"%s\"\n",$1,$3)}' > "$tmp"
+
+cmp --quiet "$tmp" "$ver"
+if [ $? -ne 0 ]; then
+ /bin/mv "$tmp" "$ver"
+else
+ /bin/rm "$tmp"
+fi