diff --git a/scripts/build.sh b/scripts/build.sh index 52e30c0c9..133c483f2 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -147,6 +147,8 @@ fi if [ "$PLATFORM" = Darwin ] ; then if [ -d /Developer/SDKs ] ; then SDKROOT=/Developer/SDKs + elif [ -d /Library/Developer/CommandLineTools/SDKs ] ; then + SDKROOT=/Library/Developer/CommandLineTools/SDKs elif [ -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs ] ; then SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs else @@ -154,10 +156,20 @@ if [ "$PLATFORM" = Darwin ] ; then echo "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs)" exit 1; fi + # find a 10.x base SDK to use, or if none can be found, find a numbered 11.x base SDK to use BASESDK=$(ls $SDKROOT | grep "MacOSX10\.1.\.sdk" | head -1 | sed -e "s/MacOSX//;s/\.sdk//") - OLDER_MAC="-mmacosx-version-min=10.11 -isysroot${SDKROOT}/MacOSX${BASESDK}.sdk" + if [ -z "$BASESDK" ] ; then + BASESDK=$(ls $SDKROOT | grep -E "MacOSX11\.[0-9]+\.sdk" | head -1 | sed -e "s/MacOSX//;s/\.sdk//") + if [ -z "$BASESDK" ] ; then + echo "Cannot find a base SDK of type 10.x or 11.x under the SDK root of ${SDKROOT}" + exit 1; + fi + fi + echo "Using ${BASESDK} as the BASESDK under ${SDKROOT}" + + OLDER_MAC="-mmacosx-version-min=${BASESDK} -isysroot${SDKROOT}/MacOSX${BASESDK}.sdk" OLDER_MAC_CMAKE="-DCMAKE_OSX_DEPLOYMENT_TARGET=${BASESDK} -DCMAKE_OSX_SYSROOT=${SDKROOT}/MacOSX${BASESDK}.sdk/" - if [[ ! -d /usr/include && ! -d "${SDKROOT}/MacOSX.sdk/usr/include" ]] ; then + if [[ ! -d /usr/include && ! -d "${SDKROOT}/MacOSX${BASESDK}.sdk/usr/include" ]] ; then echo "Error: Xcode Command Line Tools are not installed" echo "" echo "Please run:"