summaryrefslogtreecommitdiff
path: root/src/windeployqt/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/windeployqt/main.cpp')
-rw-r--r--src/windeployqt/main.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index d76ba774a..dfa906b29 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -728,17 +728,11 @@ static QString pdbFileName(QString libraryFileName)
libraryFileName.replace(lastDot, libraryFileName.size() - lastDot, QLatin1String("pdb"));
return libraryFileName;
}
-
static inline QStringList qmlCacheFileFilters()
{
return QStringList() << QStringLiteral("*.jsc") << QStringLiteral("*.qmlc");
}
-static bool hasQmlCacheFiles(const QString &path)
-{
- return !QDir(path).entryInfoList(qmlCacheFileFilters(), QDir::Files).isEmpty();
-}
-
// File entry filter function for updateFile() that returns a list of files for
// QML import trees: DLLs (matching debgug) and .qml/,js, etc.
class QmlDirectoryFileEntryFunction {
@@ -1325,17 +1319,32 @@ static DeployResult deploy(const Options &options,
// Check for ANGLE on the Qt5Gui library.
if ((options.platform & WindowsBased) && options.platform != WinCEIntel
&& options.platform != WinCEArm && !qtGuiLibrary.isEmpty()) {
+ QString libGlesName = QStringLiteral("libGLESV2");
+ if (isDebug)
+ libGlesName += QLatin1Char('d');
+ libGlesName += QLatin1String(windowsSharedLibrarySuffix);
QString libQtAngleName = QStringLiteral("QtANGLE");
if (isDebug)
libQtAngleName += QLatin1Char('d');
libQtAngleName += QLatin1String(windowsSharedLibrarySuffix);
const QStringList guiLibraries = findDependentLibraries(qtGuiLibrary, options.platform, errorMessage);
- const bool dependsOnAngle = !guiLibraries.filter(libQtAngleName, Qt::CaseInsensitive).isEmpty();
+ const bool dependsOnAngle = !guiLibraries.filter(libGlesName, Qt::CaseInsensitive).isEmpty();
+ const bool dependsOnNewAngle = !guiLibraries.filter(libQtAngleName, Qt::CaseInsensitive).isEmpty();
const bool dependsOnOpenGl = !guiLibraries.filter(QStringLiteral("opengl32"), Qt::CaseInsensitive).isEmpty();
if (options.angleDetection != Options::AngleDetectionForceOff
- && (dependsOnAngle || !dependsOnOpenGl || options.angleDetection == Options::AngleDetectionForceOn)) {
- const QString libQtAngleFullPath = qtBinDir + slash + libQtAngleName;
- deployedQtLibraries.append(libQtAngleFullPath);
+ && (dependsOnAngle || dependsOnNewAngle || !dependsOnOpenGl || options.angleDetection == Options::AngleDetectionForceOn)) {
+ if (dependsOnNewAngle) {
+ const QString libQtAngleFullPath = qtBinDir + slash + libQtAngleName;
+ deployedQtLibraries.append(libQtAngleFullPath);
+ } else {
+ const QString libGlesFullPath = qtBinDir + slash + libGlesName;
+ deployedQtLibraries.append(libGlesFullPath);
+ QString libEglFullPath = qtBinDir + slash + QStringLiteral("libEGL");
+ if (isDebug)
+ libEglFullPath += QLatin1Char('d');
+ libEglFullPath += QLatin1String(windowsSharedLibrarySuffix);
+ deployedQtLibraries.append(libEglFullPath);
+ }
// Find the system D3d Compiler matching the D3D library.
if (options.systemD3dCompiler && !options.isWinRt()) {
const QString d3dCompiler = findD3dCompiler(options.platform, qtBinDir, wordSize);
@@ -1443,11 +1452,6 @@ static DeployResult deploy(const Options &options,
return result;
unsigned updateFileFlags = options.updateFileFlags | SkipQmlDesignerSpecificsDirectories;
unsigned qmlDirectoryFileFlags = 0;
- // QML files of Controls 1 not needed unless cached files are present (5.9)
- if (quickControlsImportPath(module.sourcePath) == 1 && !hasQmlCacheFiles(module.sourcePath)) {
- updateFileFlags |= RemoveEmptyQmlDirectories;
- qmlDirectoryFileFlags |= QmlDirectoryFileEntryFunction::SkipSources;
- }
if (options.deployPdb)
qmlDirectoryFileFlags |= QmlDirectoryFileEntryFunction::DeployPdb;
if (!updateFile(module.sourcePath, QmlDirectoryFileEntryFunction(options.platform, debugMatchMode, qmlDirectoryFileFlags),