summaryrefslogtreecommitdiff
path: root/scripts/macosx-build-homebrew.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/macosx-build-homebrew.sh')
-rw-r--r--scripts/macosx-build-homebrew.sh73
1 files changed, 73 insertions, 0 deletions
diff --git a/scripts/macosx-build-homebrew.sh b/scripts/macosx-build-homebrew.sh
new file mode 100644
index 0000000..d0ff6d2
--- /dev/null
+++ b/scripts/macosx-build-homebrew.sh
@@ -0,0 +1,73 @@
+#!/bin/sh -e
+#
+# This script builds all library dependencies of OpenSCAD for Mac OS X.
+# The libraries will be built in 64-bit mode and backwards compatible with 10.7 "Lion".
+#
+# This script must be run from the OpenSCAD source root directory
+#
+# Usage: macosx-build-dependencies.sh [-d]
+# -d Build for deployment (if not specified, e.g. Sparkle won't be built)
+#
+# Prerequisites:
+# - Xcode
+#
+# FIXME:
+# o Verbose option
+# o Force rebuild vs. only rebuild changes
+#
+
+OPENSCADDIR=$PWD
+BASEDIR=$OPENSCADDIR/../libraries
+DEPLOYDIR=$BASEDIR/homebrew
+MAC_OSX_VERSION_MIN=10.7
+export QMAKESPEC=unsupported/macx-clang
+
+OPTION_DEPLOY=false
+
+printUsage()
+{
+ echo "Usage: $0 [-d]"
+ echo
+ echo " -d Build for deployment"
+}
+
+if [ ! -f $OPENSCADDIR/openscad.pro ]; then
+ echo "Must be run from the OpenSCAD source root directory"
+ exit 0
+fi
+
+while getopts 'd' c
+do
+ case $c in
+ d) OPTION_DEPLOY=true;;
+ esac
+done
+
+OSX_VERSION=`sw_vers -productVersion | cut -d. -f2`
+if (( $OSX_VERSION >= 9 )); then
+ echo "Detected Mavericks (10.9) or later"
+elif (( $OSX_VERSION >= 8 )); then
+ echo "Detected Mountain Lion (10.8)"
+elif (( $OSX_VERSION >= 7 )); then
+ echo "Detected Lion (10.7)"
+else
+ echo "Detected Snow Leopard (10.6) or earlier"
+fi
+
+echo "Building for $MAC_OSX_VERSION_MIN or later"
+
+echo "Using basedir:" $BASEDIR
+
+# Homebrew doesn't support building for other OS X versions than the current,
+# but we can do this with environment variables
+export MACOSX_DEPLOYMENT_TARGET=$MAC_OSX_VERSION_MIN
+
+# Don't use bottles, as they might be built with the wrong deployment target
+export HOMEBREW_BUILD_FROM_SOURCE=1
+
+for formula in qt eigen boost cgal glew glib opencsg; do
+ brew install openscad/tap/$formula
+done
+if $OPTION_DEPLOY; then
+ brew install --HEAD openscad/tap/sparkle
+fi
contact: Jan Huwald // Impressum