forked from qt-creator/qt-creator
CMake: Report more cmake errors in server mode
Handle more kinds of errors in CMake server-mode. Task-number: QTCREATORBUG-18318 Change-Id: I43fff7f3cfbd86d01ff05a0936261b8d91aa5d70 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -73,6 +73,17 @@ ServerModeReader::ServerModeReader()
|
||||
if (m_cmakeFiles.contains(document->filePath()))
|
||||
emit dirty();
|
||||
});
|
||||
|
||||
connect(&m_parser, &CMakeParser::addOutput,
|
||||
this, [](const QString &m) { Core::MessageManager::write(m); });
|
||||
connect(&m_parser, &CMakeParser::addTask, this, [this](const Task &t) {
|
||||
Task editable(t);
|
||||
if (!editable.file.isEmpty()) {
|
||||
QDir srcDir(m_parameters.sourceDirectory.toString());
|
||||
editable.file = FileName::fromString(srcDir.absoluteFilePath(editable.file.toString()));
|
||||
}
|
||||
TaskHub::addTask(editable);
|
||||
});
|
||||
}
|
||||
|
||||
ServerModeReader::~ServerModeReader()
|
||||
@@ -98,8 +109,13 @@ void ServerModeReader::setParameters(const BuildDirReader::Parameters &p)
|
||||
this, &ServerModeReader::handleProgress);
|
||||
connect(m_cmakeServer.get(), &ServerMode::cmakeSignal,
|
||||
this, &ServerModeReader::handleSignal);
|
||||
connect(m_cmakeServer.get(), &ServerMode::cmakeMessage,
|
||||
this, [this](const QString &m) { Core::MessageManager::write(m); });
|
||||
connect(m_cmakeServer.get(), &ServerMode::cmakeMessage, [this](const QString &m) {
|
||||
const QStringList lines = m.split('\n');
|
||||
for (const QString &l : lines) {
|
||||
m_parser.stdError(l);
|
||||
Core::MessageManager::write(l + "\n");
|
||||
}
|
||||
});
|
||||
connect(m_cmakeServer.get(), &ServerMode::message,
|
||||
this, [](const QString &m) { Core::MessageManager::write(m); });
|
||||
connect(m_cmakeServer.get(), &ServerMode::connected,
|
||||
@@ -168,6 +184,7 @@ void ServerModeReader::stop()
|
||||
m_future->reportFinished();
|
||||
m_future.reset();
|
||||
}
|
||||
m_parser.flush();
|
||||
}
|
||||
|
||||
bool ServerModeReader::isReady() const
|
||||
|
||||
Reference in New Issue
Block a user