diff options
author | Christian Kandeler <[email protected]> | 2025-01-22 14:55:15 +0100 |
---|---|---|
committer | Christian Kandeler <[email protected]> | 2025-01-22 16:05:18 +0000 |
commit | ca561567c4f13f30f8ee5add7dba84b9481a7ebe (patch) | |
tree | 69de0acfcb693e54a4f0aaf0ea8263810dbd1f83 | |
parent | d3640b719b3abbc8aad8651055d45906f78052b2 (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.cpp | 24 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsproject.h | 2 |
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 |