summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/uikit/default_post.prf15
-rw-r--r--mkspecs/macx-ios-clang/Info.plist.app2
-rw-r--r--qmake/doc/src/qmake-manual.qdoc10
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp6
-rw-r--r--qmake/generators/unix/unixmake2.cpp7
5 files changed, 33 insertions, 7 deletions
diff --git a/mkspecs/features/uikit/default_post.prf b/mkspecs/features/uikit/default_post.prf
index 9a429b1f6e..80c1fc66cd 100644
--- a/mkspecs/features/uikit/default_post.prf
+++ b/mkspecs/features/uikit/default_post.prf
@@ -29,12 +29,15 @@ macx-xcode {
QMAKE_MAC_XCODE_SETTINGS += device_family
ios {
- # Set up default LaunchScreen
- qmake_launch_screen = LaunchScreen.storyboard
- qmake_copy_launch_screen.input = $$QMAKESPEC/$$qmake_launch_screen
- qmake_copy_launch_screen.output = $$OUT_PWD/$${TARGET}.xcodeproj/$$qmake_launch_screen
- QMAKE_SUBSTITUTES += qmake_copy_launch_screen
- qmake_launch_screens.files = $$qmake_copy_launch_screen.output
+ isEmpty(QMAKE_IOS_LAUNCH_SCREEN) {
+ qmake_launch_screen = LaunchScreen.storyboard
+ qmake_copy_launch_screen.input = $$QMAKESPEC/$$qmake_launch_screen
+ qmake_copy_launch_screen.output = $$OUT_PWD/$${TARGET}.xcodeproj/$$qmake_launch_screen
+ QMAKE_SUBSTITUTES += qmake_copy_launch_screen
+ qmake_launch_screens.files = $$qmake_copy_launch_screen.output
+ } else {
+ qmake_launch_screens.files = $$QMAKE_IOS_LAUNCH_SCREEN
+ }
QMAKE_BUNDLE_DATA += qmake_launch_screens
}
}
diff --git a/mkspecs/macx-ios-clang/Info.plist.app b/mkspecs/macx-ios-clang/Info.plist.app
index 03ba3e82b4..ecea6c0377 100644
--- a/mkspecs/macx-ios-clang/Info.plist.app
+++ b/mkspecs/macx-ios-clang/Info.plist.app
@@ -27,7 +27,7 @@
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>UILaunchStoryboardName</key>
- <string>LaunchScreen</string>
+ <string>${IOS_LAUNCH_SCREEN}</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index 085cd5c461..5d77e74dcf 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -2260,6 +2260,9 @@
\row
\li \c ${WATCHOS_DEPLOYMENT_TARGET}
\li Expands to the value of QMAKE_WATCHOS_DEPLOYMENT_TARGET.
+ \row
+ \li \c ${IOS_LAUNCH_SCREEN}
+ \li Expands to the value of QMAKE_IOS_LAUNCH_SCREEN.
\endtable
\note When using the Xcode generator, the above \c{${var}}-style
@@ -2283,6 +2286,13 @@
For more information, see \l {Expressing Supported iOS Versions}.
+ \section1 QMAKE_IOS_LAUNCH_SCREEN
+
+ \note This variable is used on the iOS platform only.
+
+ Specifies the launch screen that is used by the application. If this is not set
+ then a default launch screen is used.
+
\section1 QMAKE_LFLAGS
Specifies a general set of flags that are passed to
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index c6aab40d85..93b8151c31 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -1615,6 +1615,12 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
plist_in_text.replace(QLatin1String("@TYPEINFO@"),
(project->isEmpty("QMAKE_PKGINFO_TYPEINFO")
? QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4).toQString()));
+ QString launchScreen = var("QMAKE_IOS_LAUNCH_SCREEN");
+ if (launchScreen.isEmpty())
+ launchScreen = QLatin1String("LaunchScreen");
+ else
+ launchScreen = QFileInfo(launchScreen).baseName();
+ plist_in_text.replace(QLatin1String("${IOS_LAUNCH_SCREEN}"), launchScreen);
QFile plist_out_file(Option::output_dir + "/Info.plist");
if (plist_out_file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream plist_out(&plist_out_file);
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 48352c0c47..190f5e355a 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -798,6 +798,13 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
commonSedArgs << "-e \"s,\\$${WATCHOS_DEPLOYMENT_TARGET},"
<< project->first("QMAKE_WATCHOS_DEPLOYMENT_TARGET").toQString() << ",g\" ";
+ QString launchScreen = var("QMAKE_IOS_LAUNCH_SCREEN");
+ if (launchScreen.isEmpty())
+ launchScreen = QLatin1String("LaunchScreen");
+ else
+ launchScreen = QFileInfo(launchScreen).baseName();
+ commonSedArgs << "-e \"s,\\$${IOS_LAUNCH_SCREEN}," << launchScreen << ",g\" ";
+
if (!isFramework) {
ProString app_bundle_name = var("QMAKE_APPLICATION_BUNDLE_NAME");
if (app_bundle_name.isEmpty())