From b36c39927260638a318c4f94bad4011c7ece2d9b Mon Sep 17 00:00:00 2001 From: Rafael Roquetto Date: Thu, 4 Dec 2014 11:45:06 -0200 Subject: QNX: Deploy only *.so.? libs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While on Unix systems, libQt5XYZ.so* are symlinks to libQt5XYZ.so.1.2.3, on Windows hosts these files are copies instead of actual symlinks. Therefore, when deploying from a Windows host, all the duplicates get uploaded to the target, effectively taking a lot of unnecessary space. Because Qt QNX apps link only agains *.so.? files, we deploy only those when on Windows hosts. Change-Id: I8f9f3f3a30d227b907f94f30ca47636dcb345eec Reviewed-by: hjk Reviewed-by: Christian Kandeler Reviewed-by: Tobias Nätterlund Reviewed-by: Filipe Azevedo Reviewed-by: Sean Harmer --- src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp | 16 +++++++++++++--- src/plugins/qnx/qnxdeployqtlibrariesdialog.h | 3 ++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp b/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp index f61c360f8c..6a02c01fe4 100644 --- a/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp +++ b/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp @@ -245,7 +245,16 @@ QList QnxDeployQtLibrariesDialog::gatherFiles() QTC_ASSERT(qtVersion, return result); - result.append(gatherFiles(qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_LIBS")))); + if (Utils::HostOsInfo::isWindowsHost()) { + result.append(gatherFiles(qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_LIBS")), + QString(), QStringList() << QLatin1String("*.so.?"))); + result.append(gatherFiles(qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_LIBS")) + + QLatin1String("/fonts"))); + } else { + result.append(gatherFiles( + qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_LIBS")))); + } + result.append(gatherFiles(qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_PLUGINS")))); result.append(gatherFiles(qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_IMPORTS")))); result.append(gatherFiles(qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_QML")))); @@ -254,14 +263,15 @@ QList QnxDeployQtLibrariesDialog::gatherFiles() } QList QnxDeployQtLibrariesDialog::gatherFiles( - const QString &dirPath, const QString &baseDirPath) + const QString &dirPath, const QString &baseDirPath, const QStringList &nameFilters) { QList result; if (dirPath.isEmpty()) return result; QDir dir(dirPath); - QFileInfoList list = dir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); + QFileInfoList list = dir.entryInfoList(nameFilters, + QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); for (int i = 0; i < list.size(); ++i) { QFileInfo fileInfo = list.at(i); diff --git a/src/plugins/qnx/qnxdeployqtlibrariesdialog.h b/src/plugins/qnx/qnxdeployqtlibrariesdialog.h index 2ba6f53357..81091edf59 100644 --- a/src/plugins/qnx/qnxdeployqtlibrariesdialog.h +++ b/src/plugins/qnx/qnxdeployqtlibrariesdialog.h @@ -91,7 +91,8 @@ private slots: private: QList gatherFiles(); QList gatherFiles(const QString &dirPath, - const QString &baseDir = QString()); + const QString &baseDir = QString(), + const QStringList &nameFilters = QStringList()); QString fullRemoteDirectory() const; void checkRemoteDirectoryExistance(); -- cgit v1.2.3