aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2025-01-22 14:55:15 +0100
committerChristian Kandeler <[email protected]>2025-01-22 16:05:18 +0000
commitca561567c4f13f30f8ee5add7dba84b9481a7ebe (patch)
tree69de0acfcb693e54a4f0aaf0ea8263810dbd1f83
parentd3640b719b3abbc8aad8651055d45906f78052b2 (diff)
QbsProjectManager: Use the right BuildSystem constructor
QbsBuildSystem is "per build config", not "per target". Change-Id: I3d0debbceaf696c182e19dfd7665fc2983ca15ed Reviewed-by: hjk <[email protected]>
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp24
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.h2
2 files changed, 15 insertions, 11 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 03457d050e3..5033deada86 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -152,11 +152,10 @@ static bool supportsNodeAction(ProjectAction action, const Node *node)
}
QbsBuildSystem::QbsBuildSystem(QbsBuildConfiguration *bc)
- : BuildSystem(bc->target()),
+ : BuildSystem(bc),
m_session(new QbsSession(this, BuildDeviceKitAspect::device(bc->kit()))),
m_cppCodeModelUpdater(
- ProjectUpdaterFactory::createProjectUpdater(ProjectExplorer::Constants::CXX_LANGUAGE_ID)),
- m_buildConfiguration(bc)
+ ProjectUpdaterFactory::createProjectUpdater(ProjectExplorer::Constants::CXX_LANGUAGE_ID))
{
connect(m_session, &QbsSession::newGeneratedFilesForSources, this,
[this](const QHash<QString, QStringList> &generatedFiles) {
@@ -522,6 +521,11 @@ void QbsBuildSystem::updateProjectNodes(const std::function<void ()> &continuati
projectData()));
}
+QbsBuildConfiguration *QbsBuildSystem::qbsBuildConfig() const
+{
+ return static_cast<QbsBuildConfiguration *>(buildConfiguration());
+}
+
FilePath QbsBuildSystem::locationFilePath(const QJsonObject &loc) const
{
return projectDirectory().withNewPath(loc.value("file-path").toString());
@@ -544,7 +548,7 @@ FilePath QbsBuildSystem::installRoot()
return qbsInstallStep->installRoot();
}
}
- const QbsBuildStep * const buildStep = m_buildConfiguration->qbsStep();
+ const QbsBuildStep * const buildStep = qbsBuildConfig()->qbsStep();
return buildStep && buildStep->install() ? buildStep->installRoot() : FilePath();
}
@@ -608,7 +612,7 @@ void QbsBuildSystem::triggerParsing()
void QbsBuildSystem::delayParsing()
{
- if (m_buildConfiguration->isActive())
+ if (buildConfiguration()->isActive())
requestDelayedParse();
}
@@ -631,18 +635,18 @@ void QbsBuildSystem::startParsing(const QVariantMap &extraConfig)
{
QTC_ASSERT(!m_qbsProjectParser, return);
- FilePath dir = m_buildConfiguration->buildDirectory();
- Store config = m_buildConfiguration->qbsConfiguration();
+ FilePath dir = buildConfiguration()->buildDirectory();
+ Store config = qbsBuildConfig()->qbsConfiguration();
QString installRoot = config.value(Constants::QBS_INSTALL_ROOT_KEY).toString();
if (installRoot.isEmpty()) {
- installRoot = m_buildConfiguration->macroExpander()->expand(
+ installRoot = buildConfiguration()->macroExpander()->expand(
QbsSettings::defaultInstallDirTemplate());
}
config.insert(Constants::QBS_INSTALL_ROOT_KEY, FilePath::fromString(installRoot).path());
config.insert(Constants::QBS_RESTORE_BEHAVIOR_KEY, "restore-and-track-changes");
for (auto it = extraConfig.begin(); it != extraConfig.end(); ++it)
config.insert(keyFromString(it.key()), it.value());
- Environment env = m_buildConfiguration->environment();
+ Environment env = buildConfiguration()->environment();
m_guard = guardParsingRun();
@@ -657,7 +661,7 @@ void QbsBuildSystem::startParsing(const QVariantMap &extraConfig)
this, &QbsBuildSystem::handleQbsParsingDone);
QbsProfileManager::updateProfileIfNecessary(target()->kit());
- m_qbsProjectParser->parse(config, env, dir, m_buildConfiguration->configurationName());
+ m_qbsProjectParser->parse(config, env, dir, qbsBuildConfig()->configurationName());
}
void QbsBuildSystem::cancelParsing()
diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h
index 0fa1e43c0ee..1c58ec2c418 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.h
+++ b/src/plugins/qbsprojectmanager/qbsproject.h
@@ -131,6 +131,7 @@ private:
Utils::FilePath installRoot();
Utils::FilePath locationFilePath(const QJsonObject &loc) const;
Utils::FilePath groupFilePath(const QJsonObject &group) const;
+ QbsBuildConfiguration *qbsBuildConfig() const;
static bool ensureWriteableQbsFile(const Utils::FilePath &file);
@@ -152,7 +153,6 @@ private:
QHash<QString, Utils::Environment> m_envCache;
ProjectExplorer::BuildSystem::ParseGuard m_guard;
- QbsBuildConfiguration *m_buildConfiguration = nullptr;
};
} // namespace Internal