diff --git a/src/plugins/autotoolsprojectmanager/makefileparser.cpp b/src/plugins/autotoolsprojectmanager/makefileparser.cpp index b3284243ebc..48436899ebe 100644 --- a/src/plugins/autotoolsprojectmanager/makefileparser.cpp +++ b/src/plugins/autotoolsprojectmanager/makefileparser.cpp @@ -33,6 +33,7 @@ #include "makefileparser.h" #include +#include #include #include @@ -443,10 +444,10 @@ QString MakefileParser::parseIdentifierBeforeAssign(const QString &line) QStringList MakefileParser::parseTermsAfterAssign(const QString &line) { int assignPos = line.indexOf(QLatin1Char('=')) + 1; - if (assignPos >= line.size()) + if (assignPos <= 0 || assignPos >= line.size()) return QStringList(); - const QStringList parts = line.mid(assignPos).split(QLatin1Char(' '), QString::SkipEmptyParts); + const QStringList parts = Utils::QtcProcess::splitArgs(line.mid(assignPos)); QStringList result; for (int i = 0; i < parts.count(); ++i) { const QString cur = parts.at(i); @@ -545,6 +546,12 @@ void MakefileParser::parseIncludePaths() QString line; do { line = textStream.readLine(); + while (line.endsWith(QLatin1Char('\\'))) { + line.chop(1); + QString next = textStream.readLine(); + line.append(next); + } + const QString varName = parseIdentifierBeforeAssign(line); if (varName.isEmpty()) continue;