mirror of https://github.com/vitalif/openscad
73 lines
1.7 KiB
Bash
Executable File
73 lines
1.7 KiB
Bash
Executable File
#!/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
|
|
|
|
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 qt5 eigen boost cgal glew glib opencsg freetype libxml2 fontconfig harfbuzz; do
|
|
brew install openscad/tap/$formula
|
|
done
|
|
if $OPTION_DEPLOY; then
|
|
brew install --HEAD openscad/tap/sparkle
|
|
fi
|