QbsProjectManager: Fix one more build key inconsistency

Amends 26e4a2a758.

Fixes: QTCREATORBUG-23841
Change-Id: Ie297f8e2b6a79f6bafa709bf3a0285c9ce6e03ab
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2020-04-09 13:30:39 +02:00
parent 97560e1ca6
commit fb56c82abf
4 changed files with 12 additions and 9 deletions

View File

@@ -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();
});

View File

@@ -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

View File

@@ -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;

View File

@@ -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.