diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-04-17 17:17:18 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-04-19 07:45:38 +0000 |
commit | 1fa658041cc44dd9b3fa7346dcc127bac9945c12 (patch) | |
tree | 0b57c056bacb0fd9535b6af5d16c4f5d1fcfa7fb | |
parent | a9668d22f048b50b9a2ca5856ef636bc8259f89b (diff) | |
download | qttools-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.cpp | 12 |
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. |