summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/unix/unixmake.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 30f99174f8..894020d2bd 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -461,10 +461,24 @@ UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
opt = (*++it).toQString();
else
opt = opt.mid(10).trimmed();
+ static const QChar suffixMarker = ',';
+ const int suffixPosition = opt.indexOf(suffixMarker);
+ const bool hasSuffix = suffixPosition >= 0;
+ QString frameworkName = opt;
+ if (hasSuffix) {
+ frameworkName.truncate(suffixPosition);
+ opt.remove(suffixMarker); // Apply suffix by removing marker
+ }
for (const QMakeLocalFileName &dir : qAsConst(frameworkdirs)) {
- QString prl = dir.local() + "/" + opt + ".framework/" + opt + Option::prl_ext;
- if (processPrlFile(prl))
+ QString frameworkDirectory = dir.local() + "/" + frameworkName + + ".framework/";
+ QString suffixedPrl = frameworkDirectory + opt + Option::prl_ext;
+ if (processPrlFile(suffixedPrl))
break;
+ if (hasSuffix) {
+ QString unsuffixedPrl = frameworkDirectory + frameworkName + Option::prl_ext;
+ if (processPrlFile(unsuffixedPrl))
+ break;
+ }
}
} else {
if (opt.length() == 10)