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(); const RunConfiguration * const runConfig = target->activeRunConfiguration();
QTC_ASSERT(runConfig, return); QTC_ASSERT(runConfig, return);
ProjectNode * const productNode = runConfig->productNode(); ProjectNode * const productNode = runConfig->productNode();
QTC_ASSERT(productNode, return);
QTC_ASSERT(productNode->isProduct(), return); QTC_ASSERT(productNode->isProduct(), return);
productNode->build(); productNode->build();
}); });

View File

@@ -142,7 +142,13 @@ QString QbsProductNode::fullDisplayName() const
QString QbsProductNode::buildKey() 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 QVariant QbsProductNode::data(Core::Id role) const

View File

@@ -63,6 +63,8 @@ public:
QString fullDisplayName() const; QString fullDisplayName() const;
QString buildKey() const override; QString buildKey() const override;
static QString getBuildKey(const QJsonObject &product);
const QJsonObject productData() const { return m_productData; } const QJsonObject productData() const { return m_productData; }
QJsonObject mainGroup() const; QJsonObject mainGroup() const;
QVariant data(Core::Id role) const override; QVariant data(Core::Id role) const override;

View File

@@ -170,12 +170,6 @@ static bool supportsNodeAction(ProjectAction action, const Node *node)
return false; return false;
} }
static QString buildKeyValue(const QJsonObject &product)
{
return product.value("name").toString() + '.'
+ product.value("multiplex-configuration-id").toString();
}
QbsBuildSystem::QbsBuildSystem(QbsBuildConfiguration *bc) QbsBuildSystem::QbsBuildSystem(QbsBuildConfiguration *bc)
: BuildSystem(bc->target()), : BuildSystem(bc->target()),
m_session(new QbsSession(this)), m_session(new QbsSession(this)),
@@ -925,7 +919,7 @@ static RawProjectParts generateProjectParts(
rpp.setProjectFileLocation(location.value("file-path").toString(), rpp.setProjectFileLocation(location.value("file-path").toString(),
location.value("line").toInt(), location.value("line").toInt(),
location.value("column").toInt()); location.value("column").toInt());
rpp.setBuildSystemTarget(buildKeyValue(prd)); rpp.setBuildSystemTarget(QbsProductNode::getBuildKey(prd));
rpp.setBuildTargetType(prd.value("is-runnable").toBool() rpp.setBuildTargetType(prd.value("is-runnable").toBool()
? BuildTargetType::Executable ? BuildTargetType::Executable
: BuildTargetType::Library); : BuildTargetType::Library);
@@ -1088,7 +1082,7 @@ void QbsBuildSystem::updateApplicationTargets()
} }
} }
BuildTargetInfo bti; BuildTargetInfo bti;
bti.buildKey = buildKeyValue(productData); bti.buildKey = QbsProductNode::getBuildKey(productData);
bti.targetFilePath = FilePath::fromString(targetFile); bti.targetFilePath = FilePath::fromString(targetFile);
bti.projectFilePath = FilePath::fromString(projectFile); bti.projectFilePath = FilePath::fromString(projectFile);
bti.isQtcRunnable = isQtcRunnable; // Fixed up below. bti.isQtcRunnable = isQtcRunnable; // Fixed up below.