diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 66b04ba4ef6..c4a15ec5266 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1568,6 +1568,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er const RunConfiguration * const runConfig = target->activeRunConfiguration(); QTC_ASSERT(runConfig, return); ProjectNode * const productNode = runConfig->productNode(); + QTC_ASSERT(productNode, return); QTC_ASSERT(productNode->isProduct(), return); productNode->build(); }); diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp index fc632447e79..01bfa6e9761 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.cpp +++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp @@ -142,7 +142,13 @@ QString QbsProductNode::fullDisplayName() const QString QbsProductNode::buildKey() const { - return fullDisplayName(); + return getBuildKey(productData()); +} + +QString QbsProductNode::getBuildKey(const QJsonObject &product) +{ + return product.value("name").toString() + '.' + + product.value("multiplex-configuration-id").toString(); } QVariant QbsProductNode::data(Core::Id role) const diff --git a/src/plugins/qbsprojectmanager/qbsnodes.h b/src/plugins/qbsprojectmanager/qbsnodes.h index 51c6a76094b..f5a752ad3c8 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.h +++ b/src/plugins/qbsprojectmanager/qbsnodes.h @@ -63,6 +63,8 @@ public: QString fullDisplayName() const; QString buildKey() const override; + static QString getBuildKey(const QJsonObject &product); + const QJsonObject productData() const { return m_productData; } QJsonObject mainGroup() const; QVariant data(Core::Id role) const override; diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 8303c24c431..b3264dfb592 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -170,12 +170,6 @@ static bool supportsNodeAction(ProjectAction action, const Node *node) return false; } -static QString buildKeyValue(const QJsonObject &product) -{ - return product.value("name").toString() + '.' - + product.value("multiplex-configuration-id").toString(); -} - QbsBuildSystem::QbsBuildSystem(QbsBuildConfiguration *bc) : BuildSystem(bc->target()), m_session(new QbsSession(this)), @@ -925,7 +919,7 @@ static RawProjectParts generateProjectParts( rpp.setProjectFileLocation(location.value("file-path").toString(), location.value("line").toInt(), location.value("column").toInt()); - rpp.setBuildSystemTarget(buildKeyValue(prd)); + rpp.setBuildSystemTarget(QbsProductNode::getBuildKey(prd)); rpp.setBuildTargetType(prd.value("is-runnable").toBool() ? BuildTargetType::Executable : BuildTargetType::Library); @@ -1088,7 +1082,7 @@ void QbsBuildSystem::updateApplicationTargets() } } BuildTargetInfo bti; - bti.buildKey = buildKeyValue(productData); + bti.buildKey = QbsProductNode::getBuildKey(productData); bti.targetFilePath = FilePath::fromString(targetFile); bti.projectFilePath = FilePath::fromString(projectFile); bti.isQtcRunnable = isQtcRunnable; // Fixed up below.