diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-03-20 13:46:57 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-03-20 13:49:28 +0100 |
commit | 76c0be34cd4ff4564693162fa7528463e23ce9d8 (patch) | |
tree | f165b7bc319548fb0082365411a871028f92e89e /mkspecs/common | |
parent | 27b4fe96b59e9e63d1e570e802c072e9afdfb2d4 (diff) | |
parent | 36cb3f3f655a9090c82de609010cbfb88651a0f3 (diff) |
Merge branch 'dev' into stable
This starts Qt 5.1 release cycle
Conflicts:
src/gui/text/qfontdatabase.cpp
src/gui/text/qharfbuzz_copy_p.h
src/widgets/kernel/qapplication.cpp
src/widgets/kernel/qcoreapplication.cpp
Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
Diffstat (limited to 'mkspecs/common')
-rw-r--r-- | mkspecs/common/clang-mac.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/gcc-base-ios.conf | 33 | ||||
-rw-r--r-- | mkspecs/common/gcc-base-mac.conf (renamed from mkspecs/common/gcc-base-macx.conf) | 2 | ||||
-rw-r--r-- | mkspecs/common/gcc-base.conf | 7 | ||||
-rw-r--r-- | mkspecs/common/ios.conf | 17 | ||||
-rw-r--r-- | mkspecs/common/ios/GLES/gl.h | 43 | ||||
-rw-r--r-- | mkspecs/common/ios/arch.conf | 84 | ||||
-rw-r--r-- | mkspecs/common/ios/clang.conf | 42 | ||||
-rw-r--r-- | mkspecs/common/ios/g++.conf | 21 | ||||
-rw-r--r-- | mkspecs/common/ios/llvm.conf | 31 | ||||
-rw-r--r-- | mkspecs/common/ios/qmake.conf | 61 | ||||
-rw-r--r-- | mkspecs/common/ios/qplatformdefs.h | 97 | ||||
-rw-r--r-- | mkspecs/common/ios/versions.conf | 184 | ||||
-rw-r--r-- | mkspecs/common/linux-android.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/linux.conf | 5 | ||||
-rw-r--r-- | mkspecs/common/mac-clang-libc++-minimum-version.conf | 5 | ||||
-rw-r--r-- | mkspecs/common/mac-minimum-version.conf | 4 | ||||
-rw-r--r-- | mkspecs/common/mac.conf | 35 | ||||
-rw-r--r-- | mkspecs/common/mac/qplatformdefs.h | 6 | ||||
-rw-r--r-- | mkspecs/common/macx.conf | 8 | ||||
-rw-r--r-- | mkspecs/common/wince/qmake.conf | 4 | ||||
-rw-r--r-- | mkspecs/common/xcode.conf | 17 |
22 files changed, 85 insertions, 625 deletions
diff --git a/mkspecs/common/clang-mac.conf b/mkspecs/common/clang-mac.conf index f7fe50a50b..efe771d24d 100644 --- a/mkspecs/common/clang-mac.conf +++ b/mkspecs/common/clang-mac.conf @@ -3,3 +3,5 @@ QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} - QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvm.clang.1_0 diff --git a/mkspecs/common/gcc-base-ios.conf b/mkspecs/common/gcc-base-ios.conf deleted file mode 100644 index 2fd597e973..0000000000 --- a/mkspecs/common/gcc-base-ios.conf +++ /dev/null @@ -1,33 +0,0 @@ -# -# Base qmake configuration for GCC on iOS -# -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. -# -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -include(gcc-base.conf) - -QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__=4 - -QMAKE_CFLAGS_DEBUG += -gdwarf-2 - -QMAKE_CXXFLAGS_DEBUG += -gdwarf-2 - -QMAKE_OBJECTIVE_CFLAGS = $$QMAKE_CFLAGS -QMAKE_OBJECTIVE_CFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_OBJECTIVE_CFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_OBJECTIVE_CFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_OBJECTIVE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_OBJECTIVE_CFLAGS_HIDESYMS = $$QMAKE_CXXFLAGS_HIDESYMS - -QMAKE_LFLAGS += -headerpad_max_install_names -QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib -QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_INCREMENTAL += -undefined suppress -flat_namespace -QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE}@executable_path/ -QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE} -QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE} - diff --git a/mkspecs/common/gcc-base-macx.conf b/mkspecs/common/gcc-base-mac.conf index 45fa248b66..cee129e774 100644 --- a/mkspecs/common/gcc-base-macx.conf +++ b/mkspecs/common/gcc-base-mac.conf @@ -1,5 +1,5 @@ # -# Base qmake configuration for GCC on Mac OS X +# Base qmake configuration for GCC on Mac OS X and iOS # # Before making changes to this file, please read the comment in # gcc-base.conf, to make sure the change goes in the right place. diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 43ebc0ab3a..7459be65bf 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -7,8 +7,7 @@ # # Platform-specific options shared by these compilers are put into: # -# - gcc-base-ios.conf -# - gcc-base-macx.conf +# - gcc-base-mac.conf # - gcc-base-unix.conf # # These base files are then combined with configurations for each compiler: @@ -20,11 +19,11 @@ # - clang.conf # # The combination happens in the top level mkspec, by including a platform- -# specific version of the base-file, for example gcc-base-macx.conf, and then +# specific version of the base-file, for example gcc-base-mac.conf, and then # a (possibly platform-specific) version of the actual compiler configuration, # for example g++-macx.conf. # -# If you are making changes to any of these files, please consider the +# If you are making changes to any of these files, please consider the # possible effect it may have due to these include-rules, and whether it # might make more sense to share the rule or make it more specific. # diff --git a/mkspecs/common/ios.conf b/mkspecs/common/ios.conf index 7420b56daf..b7d2b84ec9 100644 --- a/mkspecs/common/ios.conf +++ b/mkspecs/common/ios.conf @@ -2,18 +2,7 @@ # qmake common configuration for iOS # -MAKEFILE_GENERATOR = UNIX -CONFIG += ios reduce_exports incremental global_init_link_order lib_version_first plugin_no_soname -QMAKE_INCREMENTAL_STYLE = sublib +QMAKE_PLATFORM += ios +QMAKE_MAC_SDK = iphoneos -# Qt can't build iOS app bundle :( -CONFIG -= app_bundle - -# Not deploying to Mac OSX -QMAKE_MACOSX_DEPLOYMENT_TARGET = - -# Add iOS common folder to include path -INCLUDEPATH += $$PWD/ios - -# iOS defines -DEFINES += DARWIN_NO_CARBON Q_OS_IOS QT_NO_CORESERVICES QT_NO_PRINTER QT_NO_PRINTDIALOG +include(mac.conf) diff --git a/mkspecs/common/ios/GLES/gl.h b/mkspecs/common/ios/GLES/gl.h deleted file mode 100644 index 2b94b162eb..0000000000 --- a/mkspecs/common/ios/GLES/gl.h +++ /dev/null @@ -1,43 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the qmake spec of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <OpenGLES/ES1/gl.h> -#include <OpenGLES/ES1/glext.h> diff --git a/mkspecs/common/ios/arch.conf b/mkspecs/common/ios/arch.conf deleted file mode 100644 index 4ad96874fe..0000000000 --- a/mkspecs/common/ios/arch.conf +++ /dev/null @@ -1,84 +0,0 @@ -# -# Helper to set CPU architecture flags for iOS configurations -# -# Depends on: -# -# QMAKE_IPHONEOS_DEPLOYMENT_TARGET - set in mkspecs/common/ios/versions.conf -# -# Note: -# -# Must be included after load(qt_config) in mkspec for auto-detection based -# on GL/ES version (GL/ES 2.x implies armv7 on iOS). -# - -# Target architecture for iOS devices (armv6, armv7 or leave blank for default) -QMAKE_IOS_TARGET_ARCH = - -########################################################################### - -# Device? -!*simulator* { - # Let mkspec specify archictecture - *armv6*: QMAKE_IOS_TARGET_ARCH = armv6 - else:*armv7*: QMAKE_IOS_TARGET_ARCH = armv7 - - # ARMv7 architecture device (see below) is required for OpenGL/ES 2.x - isEmpty(QMAKE_IOS_TARGET_ARCH):contains(QT_CONFIG, opengles2): QMAKE_IOS_TARGET_ARCH = armv7 - - # No target architecture specified? - isEmpty(QMAKE_IOS_TARGET_ARCH) { - # iOS versions < 4.3 can be armv6 or armv7, so need armv6 for max. compatibility, - # assume that building for OpenGL/ES 1.x is targeting armv6 - lessThan(QMAKE_IPHONEOS_DEPLOYMENT_TARGET, "4.3")|contains(QT_CONFIG, opengles1) { - QMAKE_IOS_TARGET_ARCH = armv6 - } else: QMAKE_IOS_TARGET_ARCH = armv7 - } - - # Samsung S5PC100, Apple A4, A5, A5X - equals(QMAKE_IOS_TARGET_ARCH, "armv7") { - # iOS CPU architecture (armv7) - QMAKE_IOS_ARM_ARCH = __ARM_ARCH_7__ - - # Thumb2 instructions - QMAKE_IOS_ARM_FLAGS = -mthumb - QMAKE_IOS_ARM_ARCH += __MARM_THUMB__ - - # NEON instructions - *-g++*: QMAKE_IOS_ARM_FLAGS += -mfloat-abi=softfp -mfpu=neon - QMAKE_IOS_ARM_ARCH += __ARM_NEON__ - } else { - # Samsung S5L8900 - if(equals(QMAKE_IOS_TARGET_ARCH, "armv6")) { - # iOS CPU architecture (armv6) - QMAKE_IOS_ARM_ARCH = __ARM_ARCH_6__ - - # ARM instructions - QMAKE_IOS_ARM_FLAGS = -marm -mcpu=arm1176jzf-s - !*clang*: QMAKE_IOS_ARM_FLAGS += -march=armv6 - } else { - # Unsupported architecture - error("Invalid iOS target $${QMAKE_IOS_TARGET_ARCH}! Edit mkspecs/common/ios/arch.conf to specify target architecture.") - } - } -# Simulator is i386 only -} else: QMAKE_IOS_TARGET_ARCH = i386 - -# iOS architecture build flags -QMAKE_IOS_ARCH_FLAGS = -arch $$QMAKE_IOS_TARGET_ARCH -QMAKE_CFLAGS += $$QMAKE_IOS_ARCH_FLAGS -QMAKE_CXXFLAGS += $$QMAKE_IOS_ARCH_FLAGS -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_ARCH_FLAGS -QMAKE_LFLAGS += $$QMAKE_IOS_ARCH_FLAGS -QMAKE_IOS_TARGET_ARCH = -QMAKE_IOS_ARCH_FLAGS = - -# Architecture specific defines/flags -!*simulator* { - DEFINES += $$QMAKE_IOS_ARM_ARCH - QMAKE_IOS_ARM_ARCH = - - QMAKE_CFLAGS += $$QMAKE_IOS_ARM_FLAGS - QMAKE_CXXFLAGS += $$QMAKE_IOS_ARM_FLAGS - QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_ARM_FLAGS - QMAKE_IOS_ARM_FLAGS = -} diff --git a/mkspecs/common/ios/clang.conf b/mkspecs/common/ios/clang.conf index 10d1dbd24e..ced937ba59 100644 --- a/mkspecs/common/ios/clang.conf +++ b/mkspecs/common/ios/clang.conf @@ -3,39 +3,29 @@ # # Depends on: # -# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf +# QMAKE_XCODE_VERSION - set in xcode.conf # # iOS build flags -QMAKE_IOS_CFLAGS = -fvisibility=hidden -fpascal-strings -fmessage-length=0 +QMAKE_IOS_CFLAGS += -fvisibility=hidden -fpascal-strings -fmessage-length=0 QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -Wno-sign-conversion -QMAKE_IOS_CXXFLAGS = -fvisibility-inlines-hidden -QMAKE_IOS_OBJ_CFLAGS = -Wno-arc-abi -Wc++0x-extensions +QMAKE_IOS_CXXFLAGS += -fvisibility-inlines-hidden +QMAKE_IOS_OBJ_CFLAGS += -Wno-arc-abi -# Device or simulator specific flags -*simulator* { - QMAKE_IOS_CFLAGS += -fexceptions -fasm-blocks - QMAKE_IOS_OBJ_CFLAGS += -fobjc-abi-version=2 -fobjc-legacy-dispatch -} +# Based on the following information, http://clang.llvm.org/doxygen/ObjCRuntime_8h_source.html, +# we can conclude that it's safe to always pass the following flags +QMAKE_IOS_OBJ_CFLAGS += -fobjc-nonfragile-abi -fobjc-legacy-dispatch -# Compiler version-specific flags -!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { - # Clang 3.1 flags (will be used for later versions too) - QMAKE_IOS_CFLAGS += -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wno-unused-function -Wno-unused-label -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wpointer-sign -Wno-newline-eof -Wdeprecated-declarations -Winvalid-offsetof -Wno-conversion - QMAKE_IOS_CXXFLAGS += -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wc++11-extensions - QMAKE_IOS_OBJ_CFLAGS += -Wno-deprecated-implementations -Wprotocol -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector +# But these only apply to non-ARM targets +!contains(QT_ARCH, arm): QMAKE_IOS_CFLAGS += -fexceptions -fasm-blocks - # Warn about unsupported (later than 4.5) Xcode versions - !lessThan(QMAKE_IOS_XCODE_VERSION, "4.6"): warning("The version of Xcode installed on this system is not recognised - custom compiler settings may be necessary") -} else { - if (!lessThan(QMAKE_IOS_XCODE_VERSION, "4.2")) { - # Clang 3.0 flags - QMAKE_IOS_CFLAGS += -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits - } else { - # Older Clang versions are not supported - error("Unsupported Xcode version $${QMAKE_IOS_XCODE_VERSION}") - } -} +# Clang 3.1 (and above) flags +QMAKE_IOS_CFLAGS += -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wno-unused-function -Wno-unused-label -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wpointer-sign -Wno-newline-eof -Wdeprecated-declarations -Winvalid-offsetof -Wno-conversion +QMAKE_IOS_CXXFLAGS += -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors +QMAKE_IOS_OBJ_CFLAGS += -Wno-deprecated-implementations -Wprotocol -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector + +# Warn about unsupported (later than 4.5) Xcode versions +!lessThan(QMAKE_XCODE_VERSION, "4.7"): warning("The version of Xcode installed on this system is not recognised - custom compiler settings may be necessary") # Set build flags QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS diff --git a/mkspecs/common/ios/g++.conf b/mkspecs/common/ios/g++.conf deleted file mode 100644 index 8a1e0b20c0..0000000000 --- a/mkspecs/common/ios/g++.conf +++ /dev/null @@ -1,21 +0,0 @@ -# -# compiler settings for iOS g++ compilers -# - -# iOS build flags -QMAKE_IOS_CFLAGS = -fvisibility=hidden -fexceptions -fmessage-length=0 -QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wunused-variable -QMAKE_IOS_CXXFLAGS = -fvisibility-inlines-hidden - -# Device or simulator specific flags -!*simulator*: QMAKE_IOS_OBJ_CFLAGS = -else: QMAKE_IOS_OBJ_CFLAGS = -fobjc-abi-version=2 -fobjc-legacy-dispatch - -# Set build flags -QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS -QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS $$QMAKE_IOS_OBJ_CFLAGS - -QMAKE_IOS_CFLAGS = -QMAKE_IOS_CXXFLAGS = -QMAKE_IOS_OBJ_CFLAGS = diff --git a/mkspecs/common/ios/llvm.conf b/mkspecs/common/ios/llvm.conf deleted file mode 100644 index fa2e519dd9..0000000000 --- a/mkspecs/common/ios/llvm.conf +++ /dev/null @@ -1,31 +0,0 @@ -# -# compiler settings for iOS llvm-g++ compilers -# -# Depends on: -# -# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf -# - -# iOS build flags -QMAKE_IOS_CFLAGS = -fvisibility=hidden -fpascal-strings -fmessage-length=0 -QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wunused-variable -QMAKE_IOS_CXXFLAGS = -fvisibility-inlines-hidden - -# Device or simulator specific flags -!*simulator*: QMAKE_IOS_OBJ_CFLAGS = -else: QMAKE_IOS_OBJ_CFLAGS = -fobjc-abi-version=2 -fobjc-legacy-dispatch - -# Compiler version specific flags -!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { - # Xcode 4.3+ specific flags - QMAKE_IOS_CFLAGS += -Wuninitialized -} - -# Set build flags -QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS -QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS $$QMAKE_IOS_OBJ_CFLAGS - -QMAKE_IOS_CFLAGS = -QMAKE_IOS_CXXFLAGS = -QMAKE_IOS_OBJ_CFLAGS = diff --git a/mkspecs/common/ios/qmake.conf b/mkspecs/common/ios/qmake.conf index 8ee2575fb4..39465aa765 100644 --- a/mkspecs/common/ios/qmake.conf +++ b/mkspecs/common/ios/qmake.conf @@ -1,66 +1,33 @@ # # Common build settings for all iOS configurations # -# Depends on: -# -# QMAKE_IOS_XCODE_VERSION - set in mkspecs/common/ios/versions.conf -# QMAKE_IOS_SDK_VERSION - set in mkspecs/common/ios/versions.conf -# QMAKE_IOSSIMULATOR_SDK_VERSION - set in mkspecs/common/ios/versions.conf -# - -# iOS SDK device type -!*simulator*: QMAKE_IOS_DEVICE_TYPE = iPhoneOS -else { - QMAKE_IOS_DEVICE_TYPE = iPhoneSimulator - # Use simulator SDK version - QMAKE_IOS_SDK_VERSION = $$QMAKE_IOS_SIMULATOR_SDK_VERSION - QMAKE_IOS_SIMULATOR_SDK_VERSION = -} +QT_QPA_DEFAULT_PLATFORM = ios -!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { - # Xcode 4.3+ is stored in /Applications - QMAKE_IOS_XCODE_PATH = /Applications/Xcode.app/Contents -} else: QMAKE_IOS_XCODE_PATH = +QMAKE_XCODE_CODE_SIGN_IDENTITY = "iPhone Developer" -# iOS platform /Developer path -QMAKE_IOS_DEV_PATH = $$QMAKE_IOS_XCODE_PATH/Developer/Platforms/$${QMAKE_IOS_DEVICE_TYPE}.platform/Developer -QMAKE_IOS_XCODE_PATH = - -# iOS platform SDK path -QMAKE_IOS_SDK = $$QMAKE_IOS_DEV_PATH/SDKs/$${QMAKE_IOS_DEVICE_TYPE}$${QMAKE_IOS_SDK_VERSION}.sdk -QMAKE_IOS_DEV_PATH = -QMAKE_IOS_DEVICE_TYPE = - -QMAKE_CFLAGS += -isysroot $$QMAKE_IOS_SDK -QMAKE_CXXFLAGS += -isysroot $$QMAKE_IOS_SDK -QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_IOS_SDK -QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_IOS_SDK -QMAKE_IOS_SDK = +# iOS build tools +QMAKE_CC = clang +QMAKE_CXX = clang++ +QMAKE_FIX_RPATH = install_name_tool -id +QMAKE_AR = ar cq +QMAKE_RANLIB = ranlib -s +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX # Basic iOS frameworks needed for any GUI app QMAKE_LFLAGS += -framework Foundation -framework UIKit -framework QuartzCore -lz -# OpenGL ES1 -QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_IOS_SDK/System/Library/Frameworks/OpenGLES.framework/Headers +# No OpenGL ES1 +QMAKE_INCDIR_OPENGL_ES1 = QMAKE_LIBDIR_OPENGL_ES1 = -QMAKE_LIBS_OPENGL_ES1 = -framework OpenGLES +QMAKE_LIBS_OPENGL_ES1 = # OpenGL ES2 -QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_IOS_SDK/System/Library/Frameworks/OpenGLES.framework/Headers +QMAKE_INCDIR_OPENGL_ES2 = QMAKE_LIBDIR_OPENGL_ES2 = QMAKE_LIBS_OPENGL_ES2 = -framework OpenGLES # No desktop OpenGL QMAKE_INCDIR_OPENGL = QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENGL_QT = - -# Compiler-specific flags -!*-g++* { - # Objective-C/C++ precompile flags - QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE - QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -} diff --git a/mkspecs/common/ios/qplatformdefs.h b/mkspecs/common/ios/qplatformdefs.h deleted file mode 100644 index cdefd3dba0..0000000000 --- a/mkspecs/common/ios/qplatformdefs.h +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the qmake spec of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include <unistd.h> - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include <pthread.h> -#include <dirent.h> -#include <fcntl.h> -#include <grp.h> -#include <pwd.h> -#include <signal.h> -#define QT_NO_LIBRARY_UNLOAD - -#include <sys/types.h> -#include <sys/ioctl.h> -#include <sys/ipc.h> -#include <sys/time.h> -#include <sys/shm.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <sys/wait.h> -#include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif - -#include "../../common/posix/qplatformdefs.h" - -#undef QT_OPEN_LARGEFILE -#undef QT_SOCKLEN_T -#undef QT_SIGNAL_IGNORE - -#define QT_OPEN_LARGEFILE 0 - -#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4) -#define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif - -#define QT_SIGNAL_IGNORE (void (*)(int))1 - -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/common/ios/versions.conf b/mkspecs/common/ios/versions.conf deleted file mode 100644 index b755068769..0000000000 --- a/mkspecs/common/ios/versions.conf +++ /dev/null @@ -1,184 +0,0 @@ -# -# Helper to set build tool & SDK versions for iOS configurations -# -# This file sets up the following configuration variables: -# -# QMAKE_IOS_XCODE_VERSION - version number of Xcode being used -# QMAKE_IOS_SDK_VERSION - version number of iOS device SDK -# QMAKE_IOS_SIMULATOR_SDK_VERSION - version number of iOS simulator SDK -# -# Used in: -# -# mkspecs/common/ios/clang.conf -# mkspecs/common/ios/llvm.conf -# mkspecs/common/ios/qmake.conf -# mkspecs/unsupported/macx-iosdevice-clang-legacy/qmake.conf -# mkspecs/unsupported/macx-iosdevice-clang/qmake.conf -# mkspecs/unsupported/macx-iosdevice-llvm-legacy/qmake.conf -# mkspecs/unsupported/macx-iosdevice-llvm/qmake.conf -# mkspecs/unsupported/macx-iosdevice-g++-legacy/qmake.conf -# mkspecs/unsupported/macx-iossimulator-llvm-legacy/qmake.conf -# mkspecs/unsupported/macx-iossimulator-llvm/qmake.conf -# mkspecs/unsupported/macx-iossimulator-g++-legacy/qmake.conf -# - -# -# IMPORTANT: -# -# Xcode versions <= 4.2.x must be installed in /Developer. -# Xcode versions >= 4.3.x must be installed in /Applications -# -# Xcode versions >= 4.10 & < 5.0 and versions >= 10.0 are not supported due to -# the way the version checks are done here. As Apple (so far) has not used -# minor version numbers greater than 3 for Xcode, and the Xcode major version -# has only changed three times in the period 2003-2012, this is viewed as an -# acceptable limitation. -# - -# -# Edit values below to match iOS build environment, or leave blank for -# autodetection (slower!) -# - -# Xcode version used for cross-compiling -QMAKE_IOS_XCODE_VERSION = - -# iOS SDK version used for cross-compiling for iOS devices -QMAKE_IOS_SDK_VERSION = - -# iOS SDK version used for cross-compiling for the iOS simulator -QMAKE_IOS_SIMULATOR_SDK_VERSION = - -# -# Do not edit values below here if using a pre-built SDK -# - -# Minimum iOS version required on deployment target (if not specified, will -# default to minimum version that guarantees ARMv7 & OpenGL/ES 2.x). -# -# No part of Qt or any known plugin uses features that require iOS versions -# later than 4.0. -QMAKE_IPHONEOS_DEPLOYMENT_TARGET = 4.0 - -########################################################################### - -# No Xcode version specified? -isEmpty(QMAKE_IOS_XCODE_VERSION) { - # Get version string from installed Xcode - exists(/Applications/Xcode.app/Contents/Developer) { - QMAKE_IOS_XCODE_INFO = $$system(/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version) - } else: QMAKE_IOS_XCODE_INFO = $$system(/Developer/usr/bin/xcodebuild -version) - - # Extract Xcode version number from output - QMAKE_IOS_XCODE_VERSION = $$member(QMAKE_IOS_XCODE_INFO, 1) - QMAKE_IOS_XCODE_INFO = -} - -# Make sure Xcode version is valid -!lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { - # Xcode 4.3+ is stored in /Applications - QMAKE_IOS_PLATFORM_PATH = /Applications/Xcode.app/Contents/Developer/Platforms - - # Make sure Xcode path is valid - !exists($$QMAKE_IOS_PLATFORM_PATH): error("Xcode is not installed in /Applications/Xcode.app! Edit mkspecs/common/ios/versions.conf to specify version installed.") -} else { - # Older Xcode versions are stored in /Developer - QMAKE_IOS_PLATFORM_PATH = /Developer/Platforms - - # Make sure Xcode path is valid - !exists($$QMAKE_IOS_PLATFORM_PATH): error("Xcode is not installed in /Developer! Edit mkspecs/common/ios/versions.conf to specify version installed.") -} - -# iOS 4.3 is the preferred version as it is the earliest version that is armv7/gles2 only -QMAKE_IPHONEOS_PREFERRED_TARGET = 4.3 - -# Building for iOS device? -!*simulator* { - # No iOS SDK version specified? - isEmpty(QMAKE_IOS_SDK_VERSION) { - # Get version string from installed Xcode - !lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { - QMAKE_IOS_SDK_INFO = $$system(/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -showsdks) - } else: QMAKE_IOS_SDK_INFO = $$system(/Developer/usr/bin/xcodebuild -showsdks) - - # Get names of installed device SDKs - QMAKE_IOS_SDK_INFO = $$find(QMAKE_IOS_SDK_INFO, ^iphoneos) - for(v, QMAKE_IOS_SDK_INFO): { - # Extract SDK version number from output - v = $$replace(v,iphoneos,) - - # Use latest SDK version - greaterThan(v, $$QMAKE_IOS_SDK_VERSION): QMAKE_IOS_SDK_VERSION = $$v - } - QMAKE_IOS_SDK_INFO = - } - - # Make sure iOS SDK version is valid - !exists($$QMAKE_IOS_PLATFORM_PATH/iPhoneOS.platform/Developer/SDKs/iPhoneOS$${QMAKE_IOS_SDK_VERSION}.sdk) { - error("iOS $$QMAKE_IOS_SDK_VERSION SDK not found! Edit mkspecs/common/ios/versions.conf to specify version installed.") - } - - # No deployment target specified? - isEmpty(QMAKE_IPHONEOS_DEPLOYMENT_TARGET) { - # Use SDK version for iOS versions < preferred - lessThan(QMAKE_IOS_SDK_VERSION, $$QMAKE_IPHONEOS_PREFERRED_TARGET) { - QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IOS_SDK_VERSION - } else: QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IPHONEOS_PREFERRED_TARGET - } - - # Make sure iOS SDK version is >= iOS target version - !lessThan(QMAKE_IPHONEOS_DEPLOYMENT_TARGET, $$QMAKE_IOS_SDK_VERSION) { - error("Target iOS version is greater that iOS SDK version $$QMAKE_IOS_SDK_VERSION! Edit mkspecs/common/ios/versions.conf to specify target iOS version.") - } -# Building for iOS simulator -} else { - # No iOS simulator SDK version specified? - isEmpty(QMAKE_IOS_SIMULATOR_SDK_VERSION) { - # Get version string from installed Xcode - !lessThan(QMAKE_IOS_XCODE_VERSION, "4.3") { - QMAKE_IOS_SDK_INFO = $$system(/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -showsdks) - } else: QMAKE_IOS_SDK_INFO = $$system(/Developer/usr/bin/xcodebuild -showsdks) - - # Get names of installed device SDKs - QMAKE_IOS_SDK_INFO = $$find(QMAKE_IOS_SDK_INFO, ^iphonesimulator) - for(v, QMAKE_IOS_SDK_INFO): { - # Extract SDK version number from output - v = $$replace(v,iphonesimulator,) - - # Use latest SDK version - greaterThan(v, $$QMAKE_IOS_SIMULATOR_SDK_VERSION): QMAKE_IOS_SIMULATOR_SDK_VERSION = $$v - } - QMAKE_IOS_SDK_INFO = - } - - # Make sure iOS simulator SDK version is valid - !exists($$QMAKE_IOS_PLATFORM_PATH/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$${QMAKE_IOS_SIMULATOR_SDK_VERSION}.sdk) { - error("iOS $$QMAKE_IOS_SIMULATOR_SDK_VERSION simulator SDK not found! Edit mkspecs/common/ios/versions.conf to specify version installed.") - } - - # No deployment target specified? - isEmpty(QMAKE_IPHONEOS_DEPLOYMENT_TARGET) { - # Use SDK version for iOS versions < preferred - lessThan(QMAKE_IOS_SIMULATOR_SDK_VERSION, $$QMAKE_IPHONEOS_PREFERRED_TARGET) { - QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IOS_SIMULATOR_SDK_VERSION - } else: QMAKE_IPHONEOS_DEPLOYMENT_TARGET = $$QMAKE_IPHONEOS_PREFERRED_TARGET - } - - # Make sure iOS simulator SDK version is >= iOS target version - !lessThan(QMAKE_IPHONEOS_DEPLOYMENT_TARGET, $$QMAKE_IOS_SIMULATOR_SDK_VERSION) { - error("Target iOS version is greater that iOS simulator SDK version $$QMAKE_IOS_SIMULATOR_SDK_VERSION! Edit mkspecs/common/ios/versions.conf to specify target iOS version.") - } -} - -QMAKE_IPHONEOS_PREFERRED_TARGET = -QMAKE_IOS_PLATFORM_PATH = - -# Set deployment target -QMAKE_IOS_VERSION_FLAGS = -miphoneos-version-min=$$QMAKE_IPHONEOS_DEPLOYMENT_TARGET - -# Set build flags -QMAKE_CFLAGS += $$QMAKE_IOS_VERSION_FLAGS -QMAKE_CXXFLAGS += $$QMAKE_IOS_VERSION_FLAGS -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_VERSION_FLAGS -QMAKE_LFLAGS += $$QMAKE_IOS_VERSION_FLAGS -QMAKE_IOS_VERSION_FLAGS = diff --git a/mkspecs/common/linux-android.conf b/mkspecs/common/linux-android.conf index 5b1a55d0f5..a93ec68e01 100644 --- a/mkspecs/common/linux-android.conf +++ b/mkspecs/common/linux-android.conf @@ -6,7 +6,6 @@ QMAKE_PLATFORM += android include(linux.conf) include(gcc-base-unix.conf) -DEFINES += Q_OS_LINUX_ANDROID DEFINES += QT_NO_PRINTER QT_NO_PRINTDIALOG QT_QPA_DEFAULT_PLATFORM = minimal @@ -110,7 +109,6 @@ QMAKE_LIBS_QT_OPENGL = QMAKE_LIBS_QTOPIA = QMAKE_LIBS_THREAD = QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENGL_QT = QMAKE_LIBS_OPENGL_ES1 = -lGLESv1_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $$QMAKE_LIBS diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf index 107aeb74eb..83096dd3da 100644 --- a/mkspecs/common/linux.conf +++ b/mkspecs/common/linux.conf @@ -17,9 +17,9 @@ QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL -QMAKE_INCDIR_EGL = +QMAKE_INCDIR_EGL = QMAKE_LIBDIR_EGL = -QMAKE_INCDIR_OPENVG = +QMAKE_INCDIR_OPENVG = QMAKE_LIBDIR_OPENVG = QMAKE_LIBS = @@ -28,7 +28,6 @@ QMAKE_LIBS_X11 = -lXext -lX11 -lm QMAKE_LIBS_NIS = -lnsl QMAKE_LIBS_EGL = -lEGL QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_OPENGL_QT = -lGL QMAKE_LIBS_OPENGL_ES1 = -lGLESv1_CM QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 QMAKE_LIBS_OPENVG = -lOpenVG diff --git a/mkspecs/common/mac-clang-libc++-minimum-version.conf b/mkspecs/common/mac-clang-libc++-minimum-version.conf deleted file mode 100644 index 0941970b13..0000000000 --- a/mkspecs/common/mac-clang-libc++-minimum-version.conf +++ /dev/null @@ -1,5 +0,0 @@ -# clang libc++ requires 10.7 -QMAKE_CFLAGS += -mmacosx-version-min=10.7 -QMAKE_CXXFLAGS += -mmacosx-version-min=10.7 -QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.7 -QMAKE_LFLAGS += -mmacosx-version-min=10.7 diff --git a/mkspecs/common/mac-minimum-version.conf b/mkspecs/common/mac-minimum-version.conf deleted file mode 100644 index acb4132cb6..0000000000 --- a/mkspecs/common/mac-minimum-version.conf +++ /dev/null @@ -1,4 +0,0 @@ -QMAKE_CFLAGS += -mmacosx-version-min=10.6 -QMAKE_LFLAGS += -mmacosx-version-min=10.6 -QMAKE_CXXFLAGS += -mmacosx-version-min=10.6 -QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.6 diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index e318cb775e..5d7cb1a91b 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -1,30 +1,29 @@ # -# qmake configuration for common Mac OS X +# qmake configuration for common Mac OS (OSX and iOS) # -!load(device_config) { - error(Could not successfully load device configuration) -} -QMAKE_PLATFORM += macx mac +!load(device_config): error(Could not successfully load device configuration) -QMAKE_RESOURCE = /Developer/Tools/Rez +QMAKE_PLATFORM += mac -QMAKE_EXTENSION_SHLIB = dylib +QMAKE_RESOURCE = /Developer/Tools/Rez +QMAKE_EXTENSION_SHLIB = dylib +QMAKE_LIBDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_OPENGL = $$QMAKE_MAC_SDK/System/Library/Frameworks/OpenGL.framework/Headers \ - $$QMAKE_MAC_SDK/System/Library/Frameworks/AGL.framework/Headers/ +# sdk.prf will prefix the proper SDK sysroot +QMAKE_INCDIR_OPENGL = \ + /System/Library/Frameworks/OpenGL.framework/Headers \ + /System/Library/Frameworks/AGL.framework/Headers/ -QMAKE_FIX_RPATH = install_name_tool -id +QMAKE_FIX_RPATH = install_name_tool -id -QMAKE_LFLAGS_RPATH = +QMAKE_LFLAGS_RPATH = -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL -QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL -QMAKE_LIBS_THREAD = +QMAKE_LIBS_DYNLOAD = +QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL +QMAKE_LIBS_THREAD = -QMAKE_AR = ar cq -QMAKE_RANLIB = ranlib -s +QMAKE_AR = ar cq +QMAKE_RANLIB = ranlib -s include(unix.conf) diff --git a/mkspecs/common/mac/qplatformdefs.h b/mkspecs/common/mac/qplatformdefs.h index 88a71dbd3e..7ee337cce4 100644 --- a/mkspecs/common/mac/qplatformdefs.h +++ b/mkspecs/common/mac/qplatformdefs.h @@ -42,8 +42,6 @@ #ifndef QPLATFORMDEFS_H #define QPLATFORMDEFS_H -#define QT_QPA_DEFAULT_PLATFORM_NAME "cocoa" - // Get Qt defines/settings #include "qglobal.h" @@ -85,11 +83,7 @@ #define QT_OPEN_LARGEFILE 0 -#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #define QT_SIGNAL_IGNORE (void (*)(int))1 diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf new file mode 100644 index 0000000000..eb39d1cf8d --- /dev/null +++ b/mkspecs/common/macx.conf @@ -0,0 +1,8 @@ +# +# qmake configuration for common Mac OS X +# + +QMAKE_PLATFORM += macx +QMAKE_MAC_SDK = macosx + +include(mac.conf) diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf index 46f002a360..a0ef0d0c83 100644 --- a/mkspecs/common/wince/qmake.conf +++ b/mkspecs/common/wince/qmake.conf @@ -60,8 +60,8 @@ QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO QMAKE_LFLAGS_DEBUG = /DEBUG QMAKE_LFLAGS_LTCG = /LTCG QMAKE_LIBS_NETWORK = ws2.lib -QMAKE_LIBS_OPENGL = -QMAKE_LIBS_COMPAT = +QMAKE_LIBS_OPENGL = +QMAKE_LIBS_COMPAT = QMAKE_LIBS_EGL = libEGL.lib QMAKE_LIBS_OPENGL_ES1 = libGLES_CM.lib diff --git a/mkspecs/common/xcode.conf b/mkspecs/common/xcode.conf new file mode 100644 index 0000000000..9da6406f7f --- /dev/null +++ b/mkspecs/common/xcode.conf @@ -0,0 +1,17 @@ +# +# qmake configuration for Xcode +# + +# Get path of Xcode's Developer directory +QMAKE_XCODE_DEVELOPER_PATH = $$system("xcode-select --print-path") +isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ + error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") + +# Make sure Xcode path is valid +!exists($$QMAKE_XCODE_DEVELOPER_PATH): \ + error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") + +# Extract Xcode version using xcodebuild +xcode_version = $$system("xcodebuild -version") +QMAKE_XCODE_VERSION = $$member(xcode_version, 1) +unset(xcode_version) |