diff options
Diffstat (limited to 'qmake/library/qmakebuiltins.cpp')
-rw-r--r-- | qmake/library/qmakebuiltins.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/qmake/library/qmakebuiltins.cpp b/qmake/library/qmakebuiltins.cpp index c1d446263e..02ad3220d3 100644 --- a/qmake/library/qmakebuiltins.cpp +++ b/qmake/library/qmakebuiltins.cpp @@ -738,7 +738,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinExpand( const QString &sep = (args.count() == 2) ? args.at(1).toQString(m_tmp1) : statics.field_sep; const auto vars = values(map(args.at(0))); for (const ProString &var : vars) { - const auto splits = var.toQStringRef().split(sep); + // FIXME: this is inconsistent with the "there are no empty strings" dogma. + const auto splits = var.toQStringRef().split(sep, QString::KeepEmptyParts); for (const auto &splt : splits) ret << ProString(splt).setSource(var); } @@ -1445,7 +1446,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional( } if (args.count() == 1) return returnBool(isActiveConfig(args.at(0).toQStringRef())); - const auto mutuals = args.at(1).toQStringRef().split(QLatin1Char('|')); + const auto mutuals = args.at(1).toQStringRef().split(QLatin1Char('|'), + QString::SkipEmptyParts); const ProStringList &configs = values(statics.strCONFIG); for (int i = configs.size() - 1; i >= 0; i--) { @@ -1477,7 +1479,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional( return ReturnTrue; } } else { - const auto mutuals = args.at(2).toQStringRef().split(QLatin1Char('|')); + const auto mutuals = args.at(2).toQStringRef().split(QLatin1Char('|'), + QString::SkipEmptyParts); for (int i = l.size() - 1; i >= 0; i--) { const ProString val = l[i]; for (int mut = 0; mut < mutuals.count(); mut++) { |