2012-03-16 15:00:33 +00:00
#
# compiler settings for iOS clang compilers
#
# Depends on:
#
2012-11-20 14:25:34 +00:00
# QMAKE_IOS_XCODE_VERSION - set in macx-ios-clang/qmake.conf
2012-03-16 15:00:33 +00:00
#
# iOS build flags
2012-11-01 12:18:15 +00:00
QMAKE_IOS_CFLAGS += -fvisibility=hidden -fpascal-strings -fmessage-length=0
2012-03-16 15:00:33 +00:00
QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -Wno-sign-conversion
2012-11-01 12:18:15 +00:00
QMAKE_IOS_CXXFLAGS += -fvisibility-inlines-hidden
2013-02-13 12:34:46 +00:00
QMAKE_IOS_OBJ_CFLAGS += -Wno-arc-abi
2012-03-16 15:00:33 +00:00
2012-11-20 14:25:34 +00:00
# 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
2012-11-01 11:31:36 +00:00
# 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
2013-02-13 12:34:46 +00:00
QMAKE_IOS_CXXFLAGS += -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors
2012-11-01 11:31:36 +00:00
QMAKE_IOS_OBJ_CFLAGS += -Wno-deprecated-implementations -Wprotocol -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector
2012-03-16 15:00:33 +00:00
2013-02-13 12:34:46 +00:00
# We do not yet build with C++11 support, so warn about extensions unless they are used all over Qt
QMAKE_IOS_CXXFLAGS += -Wc++11-extensions -Wc++0x-extensions -Wno-c++11-long-long
2012-11-01 11:31:36 +00:00
# Warn about unsupported (later than 4.5) Xcode versions
2013-02-13 13:10:31 +00:00
!lessThan(QMAKE_IOS_XCODE_VERSION, "4.7"): warning("The version of Xcode installed on this system is not recognised - custom compiler settings may be necessary")
2012-03-16 15:00:33 +00:00
# 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 =