diff options
Diffstat (limited to 'mkspecs/common/ios')
-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 |
8 files changed, 30 insertions, 533 deletions
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 = |