forked from qt-creator/qt-creator
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:
@@ -138,7 +138,10 @@ bool BuildDirManager::hasConfigChanged()
|
|||||||
const QByteArrayList criticalKeys
|
const QByteArrayList criticalKeys
|
||||||
= {GENERATOR_KEY, CMAKE_COMMAND_KEY, CMAKE_C_COMPILER_KEY, CMAKE_CXX_COMPILER_KEY};
|
= {GENERATOR_KEY, CMAKE_COMMAND_KEY, CMAKE_C_COMPILER_KEY, CMAKE_CXX_COMPILER_KEY};
|
||||||
|
|
||||||
const CMakeConfig currentConfig = takeCMakeConfiguration();
|
QString errorMessage;
|
||||||
|
const CMakeConfig currentConfig = takeCMakeConfiguration(errorMessage);
|
||||||
|
if (!errorMessage.isEmpty())
|
||||||
|
return false;
|
||||||
|
|
||||||
const CMakeTool *tool = m_parameters.cmakeTool();
|
const CMakeTool *tool = m_parameters.cmakeTool();
|
||||||
QTC_ASSERT(tool, return false); // No cmake... we should not have ended up here in the first place
|
QTC_ASSERT(tool, return false); // No cmake... we should not have ended up here in the first place
|
||||||
@@ -299,19 +302,21 @@ void BuildDirManager::parse(int reparseParameters)
|
|||||||
reparseParameters & REPARSE_FORCE_CONFIGURATION);
|
reparseParameters & REPARSE_FORCE_CONFIGURATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildDirManager::generateProjectTree(CMakeProjectNode *root, const QList<const FileNode *> &allFiles) const
|
void BuildDirManager::generateProjectTree(CMakeProjectNode *root,
|
||||||
|
const QList<const FileNode *> &allFiles,
|
||||||
|
QString &errorMessage) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!m_isHandlingError, return);
|
QTC_ASSERT(!m_isHandlingError, return);
|
||||||
QTC_ASSERT(m_reader, return);
|
QTC_ASSERT(m_reader, return);
|
||||||
|
|
||||||
m_reader->generateProjectTree(root, allFiles);
|
m_reader->generateProjectTree(root, allFiles, errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
CppTools::RawProjectParts BuildDirManager::createRawProjectParts() const
|
CppTools::RawProjectParts BuildDirManager::createRawProjectParts(QString &errorMessage) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!m_isHandlingError, return {});
|
QTC_ASSERT(!m_isHandlingError, return {});
|
||||||
QTC_ASSERT(m_reader, return {});
|
QTC_ASSERT(m_reader, return {});
|
||||||
return m_reader->createRawProjectParts();
|
return m_reader->createRawProjectParts(errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildDirManager::clearCache()
|
void BuildDirManager::clearCache()
|
||||||
@@ -344,7 +349,7 @@ static CMakeBuildTarget utilityTarget(const QString &title, const BuildDirManage
|
|||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<CMakeBuildTarget> BuildDirManager::takeBuildTargets() const
|
QList<CMakeBuildTarget> BuildDirManager::takeBuildTargets(QString &errorMessage) const
|
||||||
{
|
{
|
||||||
QList<CMakeBuildTarget> result = { utilityTarget(CMakeBuildStep::allTarget(), this),
|
QList<CMakeBuildTarget> result = { utilityTarget(CMakeBuildStep::allTarget(), this),
|
||||||
utilityTarget(CMakeBuildStep::cleanTarget(), this),
|
utilityTarget(CMakeBuildStep::cleanTarget(), this),
|
||||||
@@ -353,7 +358,8 @@ QList<CMakeBuildTarget> BuildDirManager::takeBuildTargets() const
|
|||||||
QTC_ASSERT(!m_isHandlingError, return result);
|
QTC_ASSERT(!m_isHandlingError, return result);
|
||||||
|
|
||||||
if (m_reader) {
|
if (m_reader) {
|
||||||
result.append(Utils::filtered(m_reader->takeBuildTargets(), [](const CMakeBuildTarget &bt) {
|
result.append(Utils::filtered(m_reader->takeBuildTargets(errorMessage),
|
||||||
|
[](const CMakeBuildTarget &bt) {
|
||||||
return bt.title != CMakeBuildStep::allTarget()
|
return bt.title != CMakeBuildStep::allTarget()
|
||||||
&& bt.title != CMakeBuildStep::cleanTarget()
|
&& bt.title != CMakeBuildStep::cleanTarget()
|
||||||
&& bt.title != CMakeBuildStep::installTarget()
|
&& bt.title != CMakeBuildStep::installTarget()
|
||||||
@@ -363,12 +369,12 @@ QList<CMakeBuildTarget> BuildDirManager::takeBuildTargets() const
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeConfig BuildDirManager::takeCMakeConfiguration() const
|
CMakeConfig BuildDirManager::takeCMakeConfiguration(QString &errorMessage) const
|
||||||
{
|
{
|
||||||
if (!m_reader)
|
if (!m_reader)
|
||||||
return CMakeConfig();
|
return CMakeConfig();
|
||||||
|
|
||||||
CMakeConfig result = m_reader->takeParsedConfiguration();
|
CMakeConfig result = m_reader->takeParsedConfiguration(errorMessage);
|
||||||
for (auto &ci : result)
|
for (auto &ci : result)
|
||||||
ci.inCMakeCache = true;
|
ci.inCMakeCache = true;
|
||||||
|
|
||||||
|
@@ -79,11 +79,12 @@ public:
|
|||||||
void parse(int reparseParameters);
|
void parse(int reparseParameters);
|
||||||
|
|
||||||
void generateProjectTree(CMakeProjectNode *root,
|
void generateProjectTree(CMakeProjectNode *root,
|
||||||
const QList<const ProjectExplorer::FileNode *> &allFiles) const;
|
const QList<const ProjectExplorer::FileNode *> &allFiles,
|
||||||
CppTools::RawProjectParts createRawProjectParts() const;
|
QString &errorMessage) const;
|
||||||
|
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) const;
|
||||||
|
|
||||||
QList<CMakeBuildTarget> takeBuildTargets() const;
|
QList<CMakeBuildTarget> takeBuildTargets(QString &errorMessage) const;
|
||||||
CMakeConfig takeCMakeConfiguration() const;
|
CMakeConfig takeCMakeConfiguration(QString &errorMessage) const;
|
||||||
|
|
||||||
static CMakeConfig parseCMakeConfiguration(const Utils::FilePath &cacheFile,
|
static CMakeConfig parseCMakeConfiguration(const Utils::FilePath &cacheFile,
|
||||||
QString *errorMessage);
|
QString *errorMessage);
|
||||||
|
@@ -62,11 +62,12 @@ public:
|
|||||||
|
|
||||||
virtual bool isParsing() const = 0;
|
virtual bool isParsing() const = 0;
|
||||||
|
|
||||||
virtual QList<CMakeBuildTarget> takeBuildTargets() = 0;
|
virtual QList<CMakeBuildTarget> takeBuildTargets(QString &errorMessage) = 0;
|
||||||
virtual CMakeConfig takeParsedConfiguration() = 0;
|
virtual CMakeConfig takeParsedConfiguration(QString &errorMessage) = 0;
|
||||||
virtual void generateProjectTree(CMakeProjectNode *root,
|
virtual void generateProjectTree(CMakeProjectNode *root,
|
||||||
const QList<const ProjectExplorer::FileNode *> &allFiles) = 0;
|
const QList<const ProjectExplorer::FileNode *> &allFiles,
|
||||||
virtual CppTools::RawProjectParts createRawProjectParts() const = 0;
|
QString &errorMessage) = 0;
|
||||||
|
virtual CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) const = 0;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void isReadyNow() const;
|
void isReadyNow() const;
|
||||||
|
@@ -109,12 +109,15 @@ CMakeProject::CMakeProject(const FilePath &fileName) : Project(Constants::CMAKEM
|
|||||||
});
|
});
|
||||||
connect(&m_buildDirManager, &BuildDirManager::errorOccured,
|
connect(&m_buildDirManager, &BuildDirManager::errorOccured,
|
||||||
this, [this](const QString &msg) {
|
this, [this](const QString &msg) {
|
||||||
|
reportError(msg);
|
||||||
CMakeBuildConfiguration *bc = m_buildDirManager.buildConfiguration();
|
CMakeBuildConfiguration *bc = m_buildDirManager.buildConfiguration();
|
||||||
if (bc) {
|
if (bc) {
|
||||||
bc->setError(msg);
|
QString errorMessage;
|
||||||
bc->setConfigurationFromCMake(m_buildDirManager.takeCMakeConfiguration());
|
bc->setConfigurationFromCMake(m_buildDirManager.takeCMakeConfiguration(errorMessage));
|
||||||
|
// ignore errorMessage here, we already got one.
|
||||||
handleParsingError(bc);
|
handleParsingError(bc);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
connect(&m_buildDirManager, &BuildDirManager::parsingStarted,
|
connect(&m_buildDirManager, &BuildDirManager::parsingStarted,
|
||||||
this, [this]() {
|
this, [this]() {
|
||||||
@@ -265,14 +268,17 @@ CMakeProject::~CMakeProject()
|
|||||||
void CMakeProject::updateProjectData(CMakeBuildConfiguration *bc)
|
void CMakeProject::updateProjectData(CMakeBuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
const CMakeBuildConfiguration *aBc = activeBc(this);
|
const CMakeBuildConfiguration *aBc = activeBc(this);
|
||||||
|
QString errorMessage;
|
||||||
|
|
||||||
QTC_ASSERT(bc, return);
|
QTC_ASSERT(bc, return);
|
||||||
QTC_ASSERT(bc == aBc, return);
|
QTC_ASSERT(bc == aBc, return);
|
||||||
QTC_ASSERT(m_treeScanner.isFinished() && !m_buildDirManager.isParsing(), return);
|
QTC_ASSERT(m_treeScanner.isFinished() && !m_buildDirManager.isParsing(), return);
|
||||||
|
|
||||||
const QList<CMakeBuildTarget> buildTargets = m_buildDirManager.takeBuildTargets();
|
const QList<CMakeBuildTarget> buildTargets = m_buildDirManager.takeBuildTargets(errorMessage);
|
||||||
|
checkAndReportError(errorMessage);
|
||||||
bc->setBuildTargets(buildTargets);
|
bc->setBuildTargets(buildTargets);
|
||||||
const CMakeConfig cmakeConfig = m_buildDirManager.takeCMakeConfiguration();
|
const CMakeConfig cmakeConfig = m_buildDirManager.takeCMakeConfiguration(errorMessage);
|
||||||
|
checkAndReportError(errorMessage);
|
||||||
bc->setConfigurationFromCMake(cmakeConfig);
|
bc->setConfigurationFromCMake(cmakeConfig);
|
||||||
|
|
||||||
CMakeConfig patchedConfig = cmakeConfig;
|
CMakeConfig patchedConfig = cmakeConfig;
|
||||||
@@ -336,7 +342,8 @@ void CMakeProject::updateProjectData(CMakeBuildConfiguration *bc)
|
|||||||
QtSupport::CppKitInfo kitInfo(this);
|
QtSupport::CppKitInfo kitInfo(this);
|
||||||
QTC_ASSERT(kitInfo.isValid(), return);
|
QTC_ASSERT(kitInfo.isValid(), return);
|
||||||
|
|
||||||
CppTools::RawProjectParts rpps = m_buildDirManager.createRawProjectParts();
|
CppTools::RawProjectParts rpps = m_buildDirManager.createRawProjectParts(errorMessage);
|
||||||
|
checkAndReportError(errorMessage);
|
||||||
|
|
||||||
for (CppTools::RawProjectPart &rpp : rpps) {
|
for (CppTools::RawProjectPart &rpp : rpps) {
|
||||||
rpp.setQtVersion(kitInfo.projectPartQtVersion); // TODO: Check if project actually uses Qt.
|
rpp.setQtVersion(kitInfo.projectPartQtVersion); // TODO: Check if project actually uses Qt.
|
||||||
@@ -395,7 +402,9 @@ CMakeProject::generateProjectTree(const QList<const FileNode *> &allFiles) const
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
auto root = std::make_unique<CMakeProjectNode>(projectDirectory());
|
auto root = std::make_unique<CMakeProjectNode>(projectDirectory());
|
||||||
m_buildDirManager.generateProjectTree(root.get(), allFiles);
|
QString errorMessage;
|
||||||
|
m_buildDirManager.generateProjectTree(root.get(), allFiles, errorMessage);
|
||||||
|
checkAndReportError(errorMessage);
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -529,6 +538,13 @@ bool CMakeProject::setupTarget(Target *t)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMakeProject::reportError(const QString &errorMessage) const
|
||||||
|
{
|
||||||
|
CMakeBuildConfiguration *bc = m_buildDirManager.buildConfiguration();
|
||||||
|
if (bc)
|
||||||
|
bc->setError(errorMessage);
|
||||||
|
}
|
||||||
|
|
||||||
void CMakeProject::handleTreeScanningFinished()
|
void CMakeProject::handleTreeScanningFinished()
|
||||||
{
|
{
|
||||||
QTC_CHECK(m_waitingForScan);
|
QTC_CHECK(m_waitingForScan);
|
||||||
@@ -644,6 +660,14 @@ bool CMakeProject::mustUpdateCMakeStateBeforeBuild()
|
|||||||
return m_delayedParsingTimer.isActive();
|
return m_delayedParsingTimer.isActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMakeProject::checkAndReportError(QString &errorMessage) const
|
||||||
|
{
|
||||||
|
if (!errorMessage.isEmpty()) {
|
||||||
|
reportError(errorMessage);
|
||||||
|
errorMessage.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QList<ProjectExplorer::ExtraCompiler *> CMakeProject::findExtraCompilers() const
|
QList<ProjectExplorer::ExtraCompiler *> CMakeProject::findExtraCompilers() const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::ExtraCompiler *> extraCompilers;
|
QList<ProjectExplorer::ExtraCompiler *> extraCompilers;
|
||||||
|
@@ -81,6 +81,9 @@ public:
|
|||||||
void clearCMakeCache();
|
void clearCMakeCache();
|
||||||
bool mustUpdateCMakeStateBeforeBuild();
|
bool mustUpdateCMakeStateBeforeBuild();
|
||||||
|
|
||||||
|
void checkAndReportError(QString &errorMessage) const;
|
||||||
|
void reportError(const QString &errorMessage) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
RestoreResult fromMap(const QVariantMap &map, QString *errorMessage) final;
|
RestoreResult fromMap(const QVariantMap &map, QString *errorMessage) final;
|
||||||
bool setupTarget(ProjectExplorer::Target *t) final;
|
bool setupTarget(ProjectExplorer::Target *t) final;
|
||||||
|
@@ -189,8 +189,9 @@ bool ServerModeReader::isParsing() const
|
|||||||
return static_cast<bool>(m_future);
|
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 {
|
const QList<CMakeBuildTarget> result = transform(m_targets, [](const Target *t) -> CMakeBuildTarget {
|
||||||
CMakeBuildTarget ct;
|
CMakeBuildTarget ct;
|
||||||
ct.title = t->name;
|
ct.title = t->name;
|
||||||
@@ -220,16 +221,19 @@ QList<CMakeBuildTarget> ServerModeReader::takeBuildTargets()
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeConfig ServerModeReader::takeParsedConfiguration()
|
CMakeConfig ServerModeReader::takeParsedConfiguration(QString &errorMessage)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(errorMessage)
|
||||||
CMakeConfig config = m_cmakeConfiguration;
|
CMakeConfig config = m_cmakeConfiguration;
|
||||||
m_cmakeConfiguration.clear();
|
m_cmakeConfiguration.clear();
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerModeReader::generateProjectTree(CMakeProjectNode *root,
|
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:
|
// Split up cmake inputs into useful chunks:
|
||||||
std::vector<std::unique_ptr<FileNode>> cmakeFilesSource;
|
std::vector<std::unique_ptr<FileNode>> cmakeFilesSource;
|
||||||
std::vector<std::unique_ptr<FileNode>> cmakeFilesBuild;
|
std::vector<std::unique_ptr<FileNode>> cmakeFilesBuild;
|
||||||
@@ -268,8 +272,9 @@ void ServerModeReader::generateProjectTree(CMakeProjectNode *root,
|
|||||||
std::move(cmakeFilesOther));
|
std::move(cmakeFilesOther));
|
||||||
}
|
}
|
||||||
|
|
||||||
CppTools::RawProjectParts ServerModeReader::createRawProjectParts() const
|
CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &errorMessage) const
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(errorMessage)
|
||||||
CppTools::RawProjectParts rpps;
|
CppTools::RawProjectParts rpps;
|
||||||
|
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
|
@@ -55,11 +55,12 @@ public:
|
|||||||
|
|
||||||
bool isParsing() const final;
|
bool isParsing() const final;
|
||||||
|
|
||||||
QList<CMakeBuildTarget> takeBuildTargets() final;
|
QList<CMakeBuildTarget> takeBuildTargets(QString &errorMessage) final;
|
||||||
CMakeConfig takeParsedConfiguration() final;
|
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
|
||||||
void generateProjectTree(CMakeProjectNode *root,
|
void generateProjectTree(CMakeProjectNode *root,
|
||||||
const QList<const ProjectExplorer::FileNode *> &allFiles) final;
|
const QList<const ProjectExplorer::FileNode *> &allFiles,
|
||||||
CppTools::RawProjectParts createRawProjectParts() const final;
|
QString &errorMessage) final;
|
||||||
|
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) const final;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createNewServer();
|
void createNewServer();
|
||||||
|
@@ -204,23 +204,22 @@ bool TeaLeafReader::isParsing() const
|
|||||||
return m_cmakeProcess && m_cmakeProcess->state() != QProcess::NotRunning;
|
return m_cmakeProcess && m_cmakeProcess->state() != QProcess::NotRunning;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<CMakeBuildTarget> TeaLeafReader::takeBuildTargets()
|
QList<CMakeBuildTarget> TeaLeafReader::takeBuildTargets(QString &errorMessage)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(errorMessage)
|
||||||
return m_buildTargets;
|
return m_buildTargets;
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeConfig TeaLeafReader::takeParsedConfiguration()
|
CMakeConfig TeaLeafReader::takeParsedConfiguration(QString &errorMessage)
|
||||||
{
|
{
|
||||||
const FilePath cacheFile = m_parameters.workDirectory.pathAppended("CMakeCache.txt");
|
const FilePath cacheFile = m_parameters.workDirectory.pathAppended("CMakeCache.txt");
|
||||||
|
|
||||||
if (!cacheFile.exists())
|
if (!cacheFile.exists())
|
||||||
return { };
|
return { };
|
||||||
|
|
||||||
QString errorMessage;
|
|
||||||
CMakeConfig result = BuildDirManager::parseCMakeConfiguration(cacheFile, &errorMessage);
|
CMakeConfig result = BuildDirManager::parseCMakeConfiguration(cacheFile, &errorMessage);
|
||||||
|
|
||||||
if (!errorMessage.isEmpty()) {
|
if (!errorMessage.isEmpty()) {
|
||||||
emit errorOccured(errorMessage);
|
|
||||||
return { };
|
return { };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,16 +228,19 @@ CMakeConfig TeaLeafReader::takeParsedConfiguration()
|
|||||||
const FilePath canonicalSourceOfBuildDir = sourceOfBuildDir.canonicalPath();
|
const FilePath canonicalSourceOfBuildDir = sourceOfBuildDir.canonicalPath();
|
||||||
const FilePath canonicalSourceDirectory = m_parameters.sourceDirectory.canonicalPath();
|
const FilePath canonicalSourceDirectory = m_parameters.sourceDirectory.canonicalPath();
|
||||||
if (canonicalSourceOfBuildDir != canonicalSourceDirectory) { // Uses case-insensitive compare where appropriate
|
if (canonicalSourceOfBuildDir != canonicalSourceDirectory) { // Uses case-insensitive compare where appropriate
|
||||||
emit errorOccured(tr("The build directory is not for %1 but for %2")
|
errorMessage = tr("The build directory is not for %1 but for %2")
|
||||||
.arg(canonicalSourceOfBuildDir.toUserOutput(),
|
.arg(canonicalSourceOfBuildDir.toUserOutput(),
|
||||||
canonicalSourceDirectory.toUserOutput()));
|
canonicalSourceDirectory.toUserOutput());
|
||||||
return { };
|
return { };
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeaLeafReader::generateProjectTree(CMakeProjectNode *root, const QList<const FileNode *> &allFiles)
|
void TeaLeafReader::generateProjectTree(CMakeProjectNode *root,
|
||||||
|
const QList<const FileNode *> &allFiles,
|
||||||
|
QString &errorMessage)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(errorMessage)
|
||||||
if (m_files.size() == 0)
|
if (m_files.size() == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -317,8 +319,9 @@ static void processCMakeIncludes(const CMakeBuildTarget &cbt, const ToolChain *t
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CppTools::RawProjectParts TeaLeafReader::createRawProjectParts() const
|
CppTools::RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMessage) const
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(errorMessage)
|
||||||
const ToolChain *tcCxx = ToolChainManager::findToolChain(m_parameters.cxxToolChainId);
|
const ToolChain *tcCxx = ToolChainManager::findToolChain(m_parameters.cxxToolChainId);
|
||||||
const ToolChain *tcC = ToolChainManager::findToolChain(m_parameters.cToolChainId);
|
const ToolChain *tcC = ToolChainManager::findToolChain(m_parameters.cToolChainId);
|
||||||
const FilePath sysroot = m_parameters.sysRoot;
|
const FilePath sysroot = m_parameters.sysRoot;
|
||||||
|
@@ -56,11 +56,12 @@ public:
|
|||||||
|
|
||||||
bool isParsing() const final;
|
bool isParsing() const final;
|
||||||
|
|
||||||
QList<CMakeBuildTarget> takeBuildTargets() final;
|
QList<CMakeBuildTarget> takeBuildTargets(QString &errorMessage) final;
|
||||||
CMakeConfig takeParsedConfiguration() final;
|
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
|
||||||
void generateProjectTree(CMakeProjectNode *root,
|
void generateProjectTree(CMakeProjectNode *root,
|
||||||
const QList<const ProjectExplorer::FileNode *> &allFiles) final;
|
const QList<const ProjectExplorer::FileNode *> &allFiles,
|
||||||
CppTools::RawProjectParts createRawProjectParts() const final;
|
QString &errorMessage) final;
|
||||||
|
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) const final;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void extractData();
|
void extractData();
|
||||||
|
Reference in New Issue
Block a user