CMake: Unify error reporting for builddirmanager's information retrieval

Use a dedicated errrorMessage out parameter for error reporting in
the builddirmanager methods related to information retrieval. Those are
called after the parsing has finished.

This frees the errrorOccured signal of the builddirmanager to be used only
when the parsing itself has failed.

Change-Id: Ieefc32c0386769479177a6bd4bc4a0e77df5db7b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Tobias Hunger
2019-06-07 17:13:49 +02:00
parent 68bcaeff64
commit 65658f411b
9 changed files with 88 additions and 43 deletions

View File

@@ -189,8 +189,9 @@ bool ServerModeReader::isParsing() const
return static_cast<bool>(m_future);
}
QList<CMakeBuildTarget> ServerModeReader::takeBuildTargets()
QList<CMakeBuildTarget> ServerModeReader::takeBuildTargets(QString &errorMessage)
{
Q_UNUSED(errorMessage)
const QList<CMakeBuildTarget> result = transform(m_targets, [](const Target *t) -> CMakeBuildTarget {
CMakeBuildTarget ct;
ct.title = t->name;
@@ -220,16 +221,19 @@ QList<CMakeBuildTarget> ServerModeReader::takeBuildTargets()
return result;
}
CMakeConfig ServerModeReader::takeParsedConfiguration()
CMakeConfig ServerModeReader::takeParsedConfiguration(QString &errorMessage)
{
Q_UNUSED(errorMessage)
CMakeConfig config = m_cmakeConfiguration;
m_cmakeConfiguration.clear();
return config;
}
void ServerModeReader::generateProjectTree(CMakeProjectNode *root,
const QList<const FileNode *> &allFiles)
const QList<const FileNode *> &allFiles,
QString &errorMessage)
{
Q_UNUSED(errorMessage)
// Split up cmake inputs into useful chunks:
std::vector<std::unique_ptr<FileNode>> cmakeFilesSource;
std::vector<std::unique_ptr<FileNode>> cmakeFilesBuild;
@@ -268,8 +272,9 @@ void ServerModeReader::generateProjectTree(CMakeProjectNode *root,
std::move(cmakeFilesOther));
}
CppTools::RawProjectParts ServerModeReader::createRawProjectParts() const
CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &errorMessage) const
{
Q_UNUSED(errorMessage)
CppTools::RawProjectParts rpps;
int counter = 0;