windeployqt: Deploy target dlls for directx and vc runtime
When deploying for a cross compiled target we should deploy the target versions of directx and compiler runtime dlls. Thus a new platform was added to utils to be able to reflect this distinction. Fixes: QTBUG-124719 Pick-to: 6.7 Change-Id: I4dd797804fa871d76d56f8775b188d4306b51e5a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>bb10
parent
6f995b5e24
commit
ed191b6afa
|
|
@ -137,7 +137,10 @@ static Platform platformFromMkSpec(const QString &xSpec)
|
|||
return WindowsDesktopClangMinGW;
|
||||
if (xSpec.contains("clang-msvc++"_L1))
|
||||
return WindowsDesktopClangMsvc;
|
||||
return xSpec.contains("g++"_L1) ? WindowsDesktopMinGW : WindowsDesktopMsvc;
|
||||
if (xSpec.contains("arm"_L1))
|
||||
return WindowsDesktopMsvcArm;
|
||||
|
||||
return xSpec.contains("g++"_L1) ? WindowsDesktopMinGW : WindowsDesktopMsvcIntel;
|
||||
}
|
||||
return UnknownPlatform;
|
||||
}
|
||||
|
|
@ -183,7 +186,7 @@ struct Options {
|
|||
bool softwareRasterizer = true;
|
||||
bool ffmpeg = true;
|
||||
PluginSelections pluginSelections;
|
||||
Platform platform = WindowsDesktopMsvc;
|
||||
Platform platform = WindowsDesktopMsvcIntel;
|
||||
ModuleBitset additionalLibraries;
|
||||
ModuleBitset disabledLibraries;
|
||||
unsigned updateFileFlags = 0;
|
||||
|
|
@ -563,13 +566,14 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
options->quickImports = !parser->isSet(noQuickImportOption);
|
||||
|
||||
// default to deployment of compiler runtime for windows desktop configurations
|
||||
if (options->platform == WindowsDesktopMinGW || options->platform == WindowsDesktopMsvc
|
||||
if (options->platform == WindowsDesktopMinGW || options->platform.testFlags(WindowsDesktopMsvc)
|
||||
|| parser->isSet(compilerRunTimeOption))
|
||||
options->compilerRunTime = true;
|
||||
if (parser->isSet(noCompilerRunTimeOption))
|
||||
options->compilerRunTime = false;
|
||||
|
||||
if (options->compilerRunTime && options->platform != WindowsDesktopMinGW && options->platform != WindowsDesktopMsvc) {
|
||||
if (options->compilerRunTime && options->platform != WindowsDesktopMinGW
|
||||
&& !options->platform.testFlags(WindowsDesktopMsvc)) {
|
||||
*errorMessage = QStringLiteral("Deployment of the compiler runtime is implemented for Desktop MSVC/g++ only.");
|
||||
return CommandLineParseError;
|
||||
}
|
||||
|
|
@ -1363,7 +1367,8 @@ static QStringList compilerRunTimeLibs(const QString &qtBinDir, Platform platfor
|
|||
break;
|
||||
}
|
||||
#ifdef Q_OS_WIN
|
||||
case WindowsDesktopMsvc: { // MSVC/Desktop: Add redistributable packages.
|
||||
case WindowsDesktopMsvcIntel:
|
||||
case WindowsDesktopMsvcArm: { // MSVC/Desktop: Add redistributable packages.
|
||||
QString vcRedistDirName = vcRedistDir();
|
||||
if (vcRedistDirName.isEmpty())
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,9 @@ enum PlatformFlag {
|
|||
ClangMsvc = 0x00400,
|
||||
ClangMinGW = 0x00800,
|
||||
// Platforms
|
||||
WindowsDesktopMsvc = WindowsBased + IntelBased + Msvc,
|
||||
WindowsDesktopMsvc = WindowsBased + Msvc,
|
||||
WindowsDesktopMsvcIntel = WindowsDesktopMsvc + IntelBased,
|
||||
WindowsDesktopMsvcArm = WindowsDesktopMsvc + ArmBased,
|
||||
WindowsDesktopMinGW = WindowsBased + IntelBased + MinGW,
|
||||
WindowsDesktopClangMsvc = WindowsBased + IntelBased + ClangMsvc,
|
||||
WindowsDesktopClangMinGW = WindowsBased + IntelBased + ClangMinGW,
|
||||
|
|
|
|||
Loading…
Reference in New Issue