diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2018-07-06 10:00:32 +0200 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2021-09-09 17:16:34 +0200 |
commit | 3f9b2871b633c055b194cac9ea4733c0cbe8f8c2 (patch) | |
tree | 89f78a794cfc4e660905d390e9954121f15a0ec8 /src/macdeployqt/shared/shared.h | |
parent | 6644b3b4bce6622cc6c6a6f3b63599305363eabe (diff) |
macdeployqt: process rpaths in deterministic order
Use QList<QString> instead of QSet<QString> to make
macdeployqt process rpaths in deterministic order
instead of arbitrary order based on the QString hash
value.
Make sure that the fallback QLibraryInfo::LibrariesPath
is added last in order to give preference to the actual
rpaths. (Use of LibrariesPath was added in an earlier
commit to cover cases where the app binary did not have
an rpath set that points to the Qt libs)
Task-number: QTBUG-53533
Change-Id: Ic8d91e196f50b8b43e6c09d5c64b7cdb01b8a8b2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/macdeployqt/shared/shared.h')
-rw-r--r-- | src/macdeployqt/shared/shared.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/macdeployqt/shared/shared.h b/src/macdeployqt/shared/shared.h index 15ff08430..8761fe8c0 100644 --- a/src/macdeployqt/shared/shared.h +++ b/src/macdeployqt/shared/shared.h @@ -101,7 +101,7 @@ public: QString qtPath; QString pluginPath; QStringList deployedFrameworks; - QSet<QString> rpathsUsed; + QList<QString> rpathsUsed; bool useLoaderPath; bool isFramework; bool isDebug; @@ -112,10 +112,10 @@ public: inline QDebug operator<<(QDebug debug, const ApplicationBundleInfo &info); OtoolInfo findDependencyInfo(const QString &binaryPath); -FrameworkInfo parseOtoolLibraryLine(const QString &line, const QString &appBundlePath, const QSet<QString> &rpaths, bool useDebugLibs); +FrameworkInfo parseOtoolLibraryLine(const QString &line, const QString &appBundlePath, const QList<QString> &rpaths, bool useDebugLibs); QString findAppBinary(const QString &appBundlePath); -QList<FrameworkInfo> getQtFrameworks(const QString &path, const QString &appBundlePath, const QSet<QString> &rpaths, bool useDebugLibs); -QList<FrameworkInfo> getQtFrameworks(const QStringList &otoolLines, const QString &appBundlePath, const QSet<QString> &rpaths, bool useDebugLibs); +QList<FrameworkInfo> getQtFrameworks(const QString &path, const QString &appBundlePath, const QList<QString> &rpaths, bool useDebugLibs); +QList<FrameworkInfo> getQtFrameworks(const QStringList &otoolLines, const QString &appBundlePath, const QList<QString> &rpaths, bool useDebugLibs); QString copyFramework(const FrameworkInfo &framework, const QString path); DeploymentInfo deployQtFrameworks(const QString &appBundlePath, const QStringList &additionalExecutables, bool useDebugLibs); DeploymentInfo deployQtFrameworks(QList<FrameworkInfo> frameworks,const QString &bundlePath, const QStringList &binaryPaths, bool useDebugLibs, bool useLoaderPath); |