summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/ios
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/common/ios')
-rw-r--r--mkspecs/common/ios/GLES/gl.h43
-rw-r--r--mkspecs/common/ios/arch.conf84
-rw-r--r--mkspecs/common/ios/clang.conf42
-rw-r--r--mkspecs/common/ios/g++.conf21
-rw-r--r--mkspecs/common/ios/llvm.conf31
-rw-r--r--mkspecs/common/ios/qmake.conf61
-rw-r--r--mkspecs/common/ios/qplatformdefs.h97
-rw-r--r--mkspecs/common/ios/versions.conf184
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 =