diff --git a/src/plugins/qtsupport/profilereader.cpp b/src/plugins/qtsupport/profilereader.cpp index 7730ab95540..d012acab27e 100644 --- a/src/plugins/qtsupport/profilereader.cpp +++ b/src/plugins/qtsupport/profilereader.cpp @@ -34,6 +34,16 @@ using namespace ProjectExplorer; using namespace QtSupport; +static QString format(const QString &fileName, int lineNo, const QString &msg) +{ + if (lineNo > 0) + return QString::fromLatin1("%1(%2): %3").arg(fileName, QString::number(lineNo), msg); + else if (lineNo) + return QString::fromLatin1("%1: %3").arg(fileName, msg); + else + return msg; +} + ProMessageHandler::ProMessageHandler(bool verbose, bool exact) : m_verbose(verbose) , m_exact(exact) @@ -54,8 +64,12 @@ void ProMessageHandler::message(int type, const QString &msg, const QString &fil { if ((type & CategoryMask) == ErrorMessage && ((type & SourceMask) == SourceParser || m_verbose)) { // parse error in qmake files - TaskHub::addTask( - BuildSystemTask(Task::Error, msg, Utils::FilePath::fromString(fileName), lineNo)); + if (m_exact) { + TaskHub::addTask( + BuildSystemTask(Task::Error, msg, Utils::FilePath::fromString(fileName), lineNo)); + } else { + appendMessage(format(fileName, lineNo, msg)); + } } } @@ -64,9 +78,9 @@ void ProMessageHandler::fileMessage(int type, const QString &msg) // message(), warning() or error() calls in qmake files if (!m_verbose) return; - if (type == QMakeHandler::ErrorMessage) + if (m_exact && type == QMakeHandler::ErrorMessage) TaskHub::addTask(BuildSystemTask(Task::Error, msg)); - else if (type == QMakeHandler::WarningMessage) + else if (m_exact && type == QMakeHandler::WarningMessage) TaskHub::addTask(BuildSystemTask(Task::Warning, msg)); else appendMessage(msg);