summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/uikit
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2016-08-19 18:20:15 -0700
committerJake Petroules <jake.petroules@qt.io>2016-08-22 13:27:14 +0000
commit0b9acb3e320b39f159c7638cb89f92017b4e91da (patch)
tree9503f7b43bb79a88c06d553e6a01183f0ed72184 /mkspecs/common/uikit
parente0e9e196a72ffe5457034894eaaadc90ed0d34ef (diff)
Move common/ios configurations into common/uikit
These actually affect all UIKit platforms (tvOS, watchOS), not just iOS. Change-Id: I2b45ebecb10d11e33d301071093b5342ce101816 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'mkspecs/common/uikit')
-rw-r--r--mkspecs/common/uikit/clang.conf29
-rw-r--r--mkspecs/common/uikit/qmake.conf25
2 files changed, 54 insertions, 0 deletions
diff --git a/mkspecs/common/uikit/clang.conf b/mkspecs/common/uikit/clang.conf
new file mode 100644
index 0000000000..0c22282c79
--- /dev/null
+++ b/mkspecs/common/uikit/clang.conf
@@ -0,0 +1,29 @@
+#
+# compiler settings for iOS/tvOS/watchOS clang compilers
+#
+
+# build flags
+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
+
+# 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
+
+# But these only apply to non-ARM targets
+!contains(QT_ARCH, arm): QMAKE_IOS_CFLAGS += -fexceptions -fasm-blocks
+
+# 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
+
+# Set build flags
+QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS
+QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS
+QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_OBJ_CFLAGS
+
+QMAKE_IOS_CFLAGS =
+QMAKE_IOS_CXXFLAGS =
+QMAKE_IOS_OBJ_CFLAGS =
diff --git a/mkspecs/common/uikit/qmake.conf b/mkspecs/common/uikit/qmake.conf
new file mode 100644
index 0000000000..e2e166cdad
--- /dev/null
+++ b/mkspecs/common/uikit/qmake.conf
@@ -0,0 +1,25 @@
+#
+# Common build settings for all iOS/tvOS/watchOS configurations
+#
+
+QT_QPA_DEFAULT_PLATFORM = ios
+
+QMAKE_XCODE_CODE_SIGN_IDENTITY = "iPhone Developer"
+
+# 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
+
+# OpenGL ES2
+QMAKE_INCDIR_OPENGL_ES2 =
+QMAKE_LIBDIR_OPENGL_ES2 =
+QMAKE_LIBS_OPENGL_ES2 = -framework OpenGLES
+
+# No desktop OpenGL
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBS_OPENGL =