summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/ios/default_post.prf11
-rw-r--r--mkspecs/features/ios/qt.prf3
2 files changed, 13 insertions, 1 deletions
diff --git a/mkspecs/features/ios/default_post.prf b/mkspecs/features/ios/default_post.prf
index 3322047788..a61db3daea 100644
--- a/mkspecs/features/ios/default_post.prf
+++ b/mkspecs/features/ios/default_post.prf
@@ -1,6 +1,15 @@
equals(TEMPLATE, app) {
- qt:app_bundle:!macx-xcode {
+
+ # If the application uses Qt, it needs to be an application bundle
+ # to be able to deploy and run on iOS. The only exception to this
+ # is if you're working with a jailbroken device and can run the
+ # resulting binary from the console/over SSH, but that's not a
+ # use-case we care about, so no need to complicate the logic.
+ qt: CONFIG *= app_bundle
+
+ # Application bundles require building through Xcode
+ app_bundle:!macx-xcode {
# For Qt applications we want Xcode project files as the generated output,
# but since qmake doesn't handle the transition between makefiles and Xcode
# project files (which happens when using subdirs), we create a wrapper
diff --git a/mkspecs/features/ios/qt.prf b/mkspecs/features/ios/qt.prf
index 79bc9a8f46..9fa882c99f 100644
--- a/mkspecs/features/ios/qt.prf
+++ b/mkspecs/features/ios/qt.prf
@@ -1,5 +1,8 @@
equals(TEMPLATE, app):contains(QT, gui(-private)?) {
+ !macx-xcode: \
+ error("Linking the iOS platform plugin requires bulding through Xcode")
+
LIBS *= -L$$[QT_INSTALL_PLUGINS/get]/platforms
lib_name = qios