diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-12-28 03:05:13 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-12-28 03:05:13 +0100 |
commit | 51d2ff5dd89bc7747298c93bd00bee908c6fba0e (patch) | |
tree | b13f8b182142184c9bbcbbe899884de52b62a1bf /src/shared | |
parent | 451b545b7f9b72ea3a63ee2f76b84ebdbf6ccd6b (diff) | |
parent | 4dcc7a3d10a223ddd111eaaac6665609add7c46f (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I8d517708261431bb0cc5b88030756af989da6bd0
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/winutils/qmlutils.cpp | 6 | ||||
-rw-r--r-- | src/shared/winutils/qmlutils.h | 2 | ||||
-rw-r--r-- | src/shared/winutils/utils.cpp | 10 | ||||
-rw-r--r-- | src/shared/winutils/utils.h | 37 |
4 files changed, 34 insertions, 21 deletions
diff --git a/src/shared/winutils/qmlutils.cpp b/src/shared/winutils/qmlutils.cpp index 6e8d5192b..54e470105 100644 --- a/src/shared/winutils/qmlutils.cpp +++ b/src/shared/winutils/qmlutils.cpp @@ -73,12 +73,12 @@ static QString qmlDirectoryRecursion(Platform platform, const QString &path) } // Find a directory containing QML files in the project -QString findQmlDirectory(int platform, const QString &startDirectoryName) +QString findQmlDirectory(Platform platform, const QString &startDirectoryName) { QDir startDirectory(startDirectoryName); - if (isBuildDirectory(Platform(platform), startDirectory.dirName())) + if (isBuildDirectory(platform, startDirectory.dirName())) startDirectory.cdUp(); - return qmlDirectoryRecursion(Platform(platform), startDirectory.path()); + return qmlDirectoryRecursion(platform, startDirectory.path()); } static void findFileRecursion(const QDir &directory, Platform platform, diff --git a/src/shared/winutils/qmlutils.h b/src/shared/winutils/qmlutils.h index 87e6ca132..572be7cab 100644 --- a/src/shared/winutils/qmlutils.h +++ b/src/shared/winutils/qmlutils.h @@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE -QString findQmlDirectory(int platform, const QString &startDirectoryName); +QString findQmlDirectory(Platform platform, const QString &startDirectoryName); struct QmlImportScanResult { struct Module { diff --git a/src/shared/winutils/utils.cpp b/src/shared/winutils/utils.cpp index f32b9b76b..b62f69a1e 100644 --- a/src/shared/winutils/utils.cpp +++ b/src/shared/winutils/utils.cpp @@ -59,7 +59,8 @@ int optVerboseLevel = 1; bool isBuildDirectory(Platform platform, const QString &dirName) { - return (platform & WindowsBased) && (dirName == QLatin1String("debug") || dirName == QLatin1String("release")); + return (platform.testFlag(Msvc) || platform.testFlag(ClangMsvc)) + && (dirName == QLatin1String("debug") || dirName == QLatin1String("release")); } // Create a symbolic link by changing to the source directory to make sure the @@ -800,6 +801,9 @@ static inline MsvcDebugRuntimeResult checkMsvcDebugRuntime(const QStringList &de pos = -1 == lastDotPos ? 0 : lastDotPos - 1; } + if (lib.contains(QLatin1String("_app"), Qt::CaseInsensitive)) + pos -= 4; + if (pos) { return lib.at(pos).toLower() == QLatin1Char('d') ? MsvcDebugRuntime : MsvcReleaseRuntime; @@ -929,7 +933,7 @@ QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wor const QString kitDir = QString::fromLocal8Bit(qgetenv("WindowsSdkDir")); if (!kitDir.isEmpty()) { QString redistDirPath = QDir::cleanPath(kitDir) + QStringLiteral("/Redist/D3D/"); - if (platform & ArmBased) { + if (platform.testFlag(ArmBased)) { redistDirPath += QStringLiteral("arm"); } else { redistDirPath += wordSize == 32 ? QStringLiteral("x86") : QStringLiteral("x64"); @@ -952,7 +956,7 @@ QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wor return fi.absoluteFilePath(); } // Find the latest D3D compiler DLL in path (Windows 8.1 has d3dcompiler_47). - if (platform & IntelBased) { + if (platform.testFlag(IntelBased)) { QString errorMessage; unsigned detectedWordSize; for (const QString &candidate : qAsConst(candidateVersions)) { diff --git a/src/shared/winutils/utils.h b/src/shared/winutils/utils.h index 7915f8e4e..b15ca01cf 100644 --- a/src/shared/winutils/utils.h +++ b/src/shared/winutils/utils.h @@ -43,27 +43,36 @@ QT_BEGIN_NAMESPACE enum PlatformFlag { - WindowsBased = 0x1000, - UnixBased = 0x2000, - IntelBased = 0x4000, - ArmBased = 0x8000, - MinGW = 0x10000 -}; - -enum Platform { - WindowsDesktop = WindowsBased + IntelBased, + // OS + WindowsBased = 0x00001, + UnixBased = 0x00002, + WinRt = 0x00004, + // CPU + IntelBased = 0x00010, + ArmBased = 0x00020, + // Compiler + Msvc = 0x00100, + MinGW = 0x00200, + ClangMsvc = 0x00400, + ClangMinGW = 0x00800, + // Platforms + WindowsDesktopMsvc = WindowsBased + IntelBased + Msvc, WindowsDesktopMinGW = WindowsBased + IntelBased + MinGW, - WinRtIntel = WindowsBased + IntelBased + 1, - WinRtArm = WindowsBased + ArmBased + 2, - WinCEIntel = WindowsBased + IntelBased + 5, - WinCEArm = WindowsBased + ArmBased + 6, + WindowsDesktopClangMsvc = WindowsBased + IntelBased + ClangMsvc, + WindowsDesktopClangMinGW = WindowsBased + IntelBased + ClangMinGW, + WinRtIntelMsvc = WindowsBased + WinRt + IntelBased + Msvc, + WinRtArmMsvc = WindowsBased + WinRt + ArmBased + Msvc, Unix = UnixBased, UnknownPlatform }; +Q_DECLARE_FLAGS(Platform, PlatformFlag) + +Q_DECLARE_OPERATORS_FOR_FLAGS(Platform) + inline bool platformHasDebugSuffix(Platform p) // Uses 'd' debug suffix { - return (p & WindowsBased) != 0 && (p & MinGW) == 0; + return p.testFlag(Msvc) || p.testFlag(ClangMsvc); } enum ListOption { |