summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-17 17:17:18 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-19 07:45:38 +0000
commit1fa658041cc44dd9b3fa7346dcc127bac9945c12 (patch)
tree0b57c056bacb0fd9535b6af5d16c4f5d1fcfa7fb
parenta9668d22f048b50b9a2ca5856ef636bc8259f89b (diff)
downloadqttools-1fa658041cc44dd9b3fa7346dcc127bac9945c12.tar.gz
windeployqt: Improve detection of Qt libraries
Remove the special handling which is no longer relevant and check on the major version in addition. Task-number: QTBUG-67762 Change-Id: If9acabfb6c9d9f6ff1fccf91c98ddd540415ab49 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r--src/windeployqt/main.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index 86ca9e2f9..45e75abab 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -668,13 +668,11 @@ static inline QString helpText(const QCommandLineParser &p)
static inline bool isQtModule(const QString &libName)
{
- // Match Standard modules, Qt5XX.dll, Qt[Commercial]Charts.dll and special cases.
- return libName.size() > 2
- && ((libName.startsWith(QLatin1String("Qt"), Qt::CaseInsensitive) && libName.at(2).isDigit())
- || libName.startsWith(QLatin1String("QtCommercial"), Qt::CaseInsensitive)
- || libName.startsWith(QLatin1String("QtCharts"), Qt::CaseInsensitive)
- || libName.startsWith(QLatin1String("DataVisualization"), Qt::CaseInsensitive)
- || libName.startsWith(QLatin1String("Enginio"), Qt::CaseInsensitive));
+ // Match Standard modules named Qt5XX.dll
+ if (libName.size() < 3 || !libName.startsWith(QLatin1String("Qt"), Qt::CaseInsensitive))
+ return false;
+ const QChar version = libName.at(2);
+ return version.isDigit() && (version.toLatin1() - '0') == QT_VERSION_MAJOR;
}
// Helper for recursively finding all dependent Qt libraries.