diff options
-rwxr-xr-x | configure | 22 | ||||
-rw-r--r-- | mkspecs/common/mac.conf | 3 | ||||
-rw-r--r-- | mkspecs/common/xcode.conf | 6 | ||||
-rw-r--r-- | mkspecs/unsupported/macx-ios-clang/qmake.conf | 5 |
4 files changed, 32 insertions, 4 deletions
@@ -445,6 +445,28 @@ if [ "$OSTYPE" = "msys" ]; then BUILD_ON_MSYS=yes fi +#------------------------------------------------------------------------------- +# Verify Xcode installation on Mac OS +#------------------------------------------------------------------------------- + +if [ "$BUILD_ON_MAC" = "yes" ]; then + if ! /usr/bin/xcode-select --print-path >/dev/null 2>&1; then + echo >&2 + echo " No Xcode is selected. Use xcode-select -switch to choose an Xcode" >&2 + echo " version. See the xcode-select man page for more information." >&2 + echo >&2 + exit 2 + fi + + if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then + echo >&2 + echo " Xcode not set up properly. You may need to confirm the license" >&2 + echo " agreement by running /usr/bin/xcodebuild without arguments." >&2 + echo >&2 + exit 2 + fi +fi + #----------------------------------------------------------------------------- # Qt version detection #----------------------------------------------------------------------------- diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index cf54f3f580..f31db3bb4b 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -26,4 +26,7 @@ QMAKE_LIBS_THREAD = QMAKE_AR = ar cq QMAKE_RANLIB = ranlib -s +# We rely on Xcode to build +include(xcode.conf) + include(unix.conf) diff --git a/mkspecs/common/xcode.conf b/mkspecs/common/xcode.conf index 0095469421..b15266b678 100644 --- a/mkspecs/common/xcode.conf +++ b/mkspecs/common/xcode.conf @@ -3,7 +3,7 @@ # # Get path of Xcode's Developer directory -QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path") +QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") @@ -11,6 +11,10 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") +# Make sure Xcode is set up properly +isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \ + error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.") + # Extract Xcode version using xcodebuild xcode_version = $$system("/usr/bin/xcodebuild -version") QMAKE_XCODE_VERSION = $$member(xcode_version, 1) diff --git a/mkspecs/unsupported/macx-ios-clang/qmake.conf b/mkspecs/unsupported/macx-ios-clang/qmake.conf index 32d10a06ed..833e22e3bd 100644 --- a/mkspecs/unsupported/macx-ios-clang/qmake.conf +++ b/mkspecs/unsupported/macx-ios-clang/qmake.conf @@ -15,9 +15,6 @@ DEFINES += DARWIN_NO_CARBON QT_NO_CORESERVICES QT_NO_PRINTER QT_N # Universal target (iPhone and iPad) QMAKE_IOS_TARGETED_DEVICE_FAMILY = 1,2 -include(../../common/xcode.conf) -lessThan(QMAKE_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") - include(../../common/ios.conf) include(../../common/gcc-base-mac.conf) include(../../common/clang.conf) @@ -25,4 +22,6 @@ include(../../common/clang-mac.conf) include(../../common/ios/clang.conf) include(../../common/ios/qmake.conf) +lessThan(QMAKE_XCODE_VERSION, "4.3"): error("This mkspec requires Xcode 4.3 or later") + load(qt_config) |