diff options
Diffstat (limited to 'mkspecs/common/uikit/clang.conf')
-rw-r--r-- | mkspecs/common/uikit/clang.conf | 29 |
1 files changed, 29 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 = |