Allow Qt for UIKit to be built as shared libraries and default to it

Instead of forcing a static build, configure now respects the
-shared flag and defaults to that.

[ChangeLog][Important Behavior Changes] Qt for iOS now respects the
-shared configure flag, and now defaults to this configuration as with
all other platforms.

Task-number: QTBUG-42937
Change-Id: I9e7b2de8f7f8ba031c2610ff5ac0858e357424bd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
bb10
Jake Petroules 2016-02-18 03:41:15 -08:00
parent cd26e66c2e
commit 4c26b48633
3 changed files with 9 additions and 1 deletions

View File

@ -462,7 +462,7 @@
"features": {
"shared": {
"label": "Building shared libraries",
"condition": "!config.uikit && !config.integrity",
"condition": "!config.integrity",
"output": [
"shared",
"publicFeature",

View File

@ -20,3 +20,6 @@ load(default_pre)
# Check for supported Xcode versions
lessThan(QMAKE_XCODE_VERSION, "4.3"): \
error("This mkspec requires Xcode 4.3 or later")
ios:shared:lessThan(QMAKE_IOS_DEPLOYMENT_TARGET, "8.0"): \
QMAKE_IOS_DEPLOYMENT_TARGET = 8.0

View File

@ -1,5 +1,10 @@
TARGET = qios
# QTBUG-42937: Work around linker errors caused by circular
# dependencies between the iOS platform plugin and the user
# application's main() when the plugin is a shared library.
qtConfig(shared): CONFIG += static
QT += core-private gui-private platformsupport-private
LIBS += -framework Foundation -framework UIKit -framework QuartzCore -framework AudioToolbox