diff --git a/3rdparty/macdeployqt/shared.cpp b/3rdparty/macdeployqt/shared.cpp index d3046d7f3..134a776e9 100644 --- a/3rdparty/macdeployqt/shared.cpp +++ b/3rdparty/macdeployqt/shared.cpp @@ -197,16 +197,25 @@ OtoolInfo findDependencyInfo(const QString &binaryPath) } outputLines.removeFirst(); // remove line containing the binary path + if (binaryPath.contains(".framework/") || binaryPath.endsWith(".dylib")) { const auto match = regexp.match(outputLines.first()); if (match.hasMatch()) { - info.installName = match.captured(1); - info.compatibilityVersion = QVersionNumber::fromString(match.captured(2)); - info.currentVersion = QVersionNumber::fromString(match.captured(3)); - } else { - LogError() << "Could not parse otool output line:" << outputLines.first(); + QString installname = match.captured(1); + if (QFileInfo(binaryPath).fileName() == QFileInfo(installname).fileName()) { + info.installName = installname; + info.compatibilityVersion = QVersionNumber::fromString(match.captured(2)); + info.currentVersion = QVersionNumber::fromString(match.captured(3)); + outputLines.removeFirst(); + } + else { + info.installName = binaryPath; + } + } + else { + LogError() << "Could not parse otool output line:" << outputLines.first(); + outputLines.removeFirst(); } - //outputLines.removeFirst(); } for (const QString &outputLine : outputLines) {