summaryrefslogtreecommitdiffstats
path: root/src/macdeployqt/macdeployqt/main.cpp
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@theqtcompany.com>2015-08-11 13:46:14 +0200
committerMorten Johan Sørvig <morten.sorvig@theqtcompany.com>2015-08-13 09:03:44 +0000
commiteeb8d316f9e7ae2e5d09edecda5dcc6b03bdf9c3 (patch)
treeb5b58485bf8993eae021a50ac664244e112f1eb0 /src/macdeployqt/macdeployqt/main.cpp
parent6a86f7026816fa657f070d10f9164d7b7099a71c (diff)
macdeployqt: fix QML import deps deployment
The plugin deployment step needs to run after QML imports deployment in order to take frameworks added by QML imports into account. Move deployPlugins() down. Update deploymentInfo. deployedFrameworks after deployQmlImports() has run. Change-Id: I1d9ce827b1c0205ec37f027d03a9b4a2bb846801 Task-number: QTBUG-46981 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Diffstat (limited to 'src/macdeployqt/macdeployqt/main.cpp')
-rw-r--r--src/macdeployqt/macdeployqt/main.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/macdeployqt/macdeployqt/main.cpp b/src/macdeployqt/macdeployqt/main.cpp
index 750316f8d..cf9000c72 100644
--- a/src/macdeployqt/macdeployqt/main.cpp
+++ b/src/macdeployqt/macdeployqt/main.cpp
@@ -142,13 +142,6 @@ int main(int argc, char **argv)
DeploymentInfo deploymentInfo = deployQtFrameworks(appBundlePath, additionalExecutables, useDebugLibs);
- if (plugins && !deploymentInfo.qtPath.isEmpty()) {
- deploymentInfo.pluginPath = deploymentInfo.qtPath + "/plugins";
- LogNormal();
- deployPlugins(appBundlePath, deploymentInfo, useDebugLibs);
- createQtConf(appBundlePath);
- }
-
// Convenience: Look for .qml files in the current directoty if no -qmldir specified.
if (qmlDirs.isEmpty()) {
QDir dir;
@@ -157,9 +150,22 @@ int main(int argc, char **argv)
}
}
- if (!qmlDirs.isEmpty())
+ if (!qmlDirs.isEmpty()) {
deployQmlImports(appBundlePath, deploymentInfo, qmlDirs);
+ // Update deploymentInfo.deployedFrameworks - the QML imports
+ // may have brought in extra frameworks as dependencies.
+ deploymentInfo.deployedFrameworks += findAppFrameworkNames(appBundlePath);
+ deploymentInfo.deployedFrameworks = deploymentInfo.deployedFrameworks.toSet().toList();
+ }
+
+ if (plugins && !deploymentInfo.qtPath.isEmpty()) {
+ deploymentInfo.pluginPath = deploymentInfo.qtPath + "/plugins";
+ LogNormal();
+ deployPlugins(appBundlePath, deploymentInfo, useDebugLibs);
+ createQtConf(appBundlePath);
+ }
+
if (runCodesign)
codesign(codesignIdentiy, appBundlePath);