diff options
Diffstat (limited to 'src/tools/windeployqt/utils.h')
-rw-r--r-- | src/tools/windeployqt/utils.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/src/tools/windeployqt/utils.h b/src/tools/windeployqt/utils.h index a9ee509d7a..fb3ba0b40b 100644 --- a/src/tools/windeployqt/utils.h +++ b/src/tools/windeployqt/utils.h @@ -20,7 +20,6 @@ QT_BEGIN_NAMESPACE enum PlatformFlag { // OS WindowsBased = 0x00001, - UnixBased = 0x00002, // CPU IntelBased = 0x00010, ArmBased = 0x00020, @@ -30,11 +29,12 @@ 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, - Unix = UnixBased, UnknownPlatform }; @@ -68,7 +68,7 @@ inline std::wostream &operator<<(std::wostream &str, const QString &s) // Container class for JSON output class JsonOutput { - using SourceTargetMapping = QPair<QString, QString>; + using SourceTargetMapping = std::pair<QString, QString>; using SourceTargetMappings = QList<SourceTargetMapping>; public: @@ -137,13 +137,12 @@ inline QString normalizeFileName(const QString &name) { return name; } #endif // !Q_OS_WIN static const char windowsSharedLibrarySuffix[] = ".dll"; -static const char unixSharedLibrarySuffix[] = ".so"; -inline QString sharedLibrarySuffix(Platform platform) { return QLatin1StringView((platform & WindowsBased) ? windowsSharedLibrarySuffix : unixSharedLibrarySuffix); } +inline QString sharedLibrarySuffix() { return QLatin1StringView(windowsSharedLibrarySuffix); } bool isBuildDirectory(Platform platform, const QString &dirName); bool createSymbolicLink(const QFileInfo &source, const QString &target, QString *errorMessage); -bool createDirectory(const QString &directory, QString *errorMessage); +bool createDirectory(const QString &directory, QString *errorMessage, bool dryRun); QString findInPath(const QString &file); extern const char *qmakeInfixKey; // Fake key containing the libinfix @@ -170,19 +169,6 @@ bool runProcess(const QString &binary, const QStringList &args, bool readPeExecutable(const QString &peExecutableFileName, QString *errorMessage, QStringList *dependentLibraries = 0, unsigned *wordSize = 0, bool *isDebug = 0, bool isMinGW = false, unsigned short *machineArch = nullptr); -bool readElfExecutable(const QString &elfExecutableFileName, QString *errorMessage, - QStringList *dependentLibraries = 0, unsigned *wordSize = 0, - bool *isDebug = 0); - -inline bool readExecutable(const QString &executableFileName, Platform platform, - QString *errorMessage, QStringList *dependentLibraries = 0, - unsigned *wordSize = 0, bool *isDebug = 0, unsigned short *machineArch = nullptr) -{ - return platform == Unix ? - readElfExecutable(executableFileName, errorMessage, dependentLibraries, wordSize, isDebug) : - readPeExecutable(executableFileName, errorMessage, dependentLibraries, wordSize, isDebug, - (platform == WindowsDesktopMinGW), machineArch); -} #ifdef Q_OS_WIN # if !defined(IMAGE_FILE_MACHINE_ARM64) @@ -193,14 +179,15 @@ QString getArchString (unsigned short machineArch); // Return dependent modules of executable files. -inline QStringList findDependentLibraries(const QString &executableFileName, Platform platform, QString *errorMessage) +inline QStringList findDependentLibraries(const QString &executableFileName, QString *errorMessage) { QStringList result; - readExecutable(executableFileName, platform, errorMessage, &result); + readPeExecutable(executableFileName, errorMessage, &result); return result; } QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wordSize); +QStringList findDxc(Platform platform, const QString &qtBinDir, unsigned wordSize); bool patchQtCore(const QString &path, QString *errorMessage); |