QbsProjectManager: Fix uniqueProductName() and productDisplayName()

These still assumed we can only multiplex on profiles.

Change-Id: Ice3dfe06c1be732ecae42db75155e930b0554b6f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
This commit is contained in:
Christian Kandeler
2018-02-09 17:18:29 +01:00
parent 7bca91cd23
commit 8c7567c447
4 changed files with 8 additions and 20 deletions

View File

@@ -103,13 +103,13 @@ QbsProjectManager::Internal::QbsGroupNode
} }
void setupQbsProductData(QbsProjectManager::Internal::QbsProductNode *node, void setupQbsProductData(QbsProjectManager::Internal::QbsProductNode *node,
const qbs::ProductData &prd, const qbs::Project &project) const qbs::ProductData &prd)
{ {
using namespace QbsProjectManager::Internal; using namespace QbsProjectManager::Internal;
node->setEnabled(prd.isEnabled()); node->setEnabled(prd.isEnabled());
node->setDisplayName(QbsProject::productDisplayName(project, prd)); node->setDisplayName(prd.fullDisplayName());
node->setAbsoluteFilePathAndLine(Utils::FileName::fromString(prd.location().filePath()).parentDir(), -1); node->setAbsoluteFilePathAndLine(Utils::FileName::fromString(prd.location().filePath()).parentDir(), -1);
const QString &productPath = QFileInfo(prd.location().filePath()).absolutePath(); const QString &productPath = QFileInfo(prd.location().filePath()).absolutePath();
@@ -137,12 +137,11 @@ void setupQbsProductData(QbsProjectManager::Internal::QbsProductNode *node,
setupArtifacts(genFiles, prd.generatedArtifacts()); setupArtifacts(genFiles, prd.generatedArtifacts());
} }
QbsProjectManager::Internal::QbsProductNode * QbsProjectManager::Internal::QbsProductNode *buildProductNodeTree(const qbs::ProductData &prd)
buildProductNodeTree(const qbs::Project &project, const qbs::ProductData &prd)
{ {
auto result = new QbsProjectManager::Internal::QbsProductNode(prd); auto result = new QbsProjectManager::Internal::QbsProductNode(prd);
setupQbsProductData(result, prd, project); setupQbsProductData(result, prd);
return result; return result;
} }
@@ -162,7 +161,7 @@ void setupProjectNode(QbsProjectManager::Internal::QbsProjectNode *node, const q
} }
foreach (const qbs::ProductData &prd, prjData.products()) foreach (const qbs::ProductData &prd, prjData.products())
node->addNode(buildProductNodeTree(qbsProject, prd)); node->addNode(buildProductNodeTree(prd));
if (!prjData.name().isEmpty()) if (!prjData.name().isEmpty())
node->setDisplayName(prjData.name()); node->setDisplayName(prjData.name());

View File

@@ -640,18 +640,9 @@ void QbsProject::generateErrors(const qbs::ErrorInfo &e)
} }
QString QbsProject::productDisplayName(const qbs::Project &project,
const qbs::ProductData &product)
{
QString displayName = product.name();
if (product.profile() != project.profile())
displayName.append(QLatin1String(" [")).append(product.profile()).append(QLatin1Char(']'));
return displayName;
}
QString QbsProject::uniqueProductName(const qbs::ProductData &product) QString QbsProject::uniqueProductName(const qbs::ProductData &product)
{ {
return product.name() + QLatin1Char('.') + product.profile(); return product.name() + QLatin1Char('.') + product.multiplexConfigurationId();
} }
void QbsProject::configureAsExampleProject(const QSet<Id> &platforms) void QbsProject::configureAsExampleProject(const QSet<Id> &platforms)
@@ -1113,7 +1104,7 @@ void QbsProject::updateApplicationTargets()
foreach (const qbs::ProductData &productData, m_projectData.allProducts()) { foreach (const qbs::ProductData &productData, m_projectData.allProducts()) {
if (!productData.isEnabled() || !productData.isRunnable()) if (!productData.isEnabled() || !productData.isRunnable())
continue; continue;
const QString displayName = productDisplayName(m_qbsProject, productData); const QString displayName = productData.fullDisplayName();
if (productData.targetArtifacts().isEmpty()) { // No build yet. if (productData.targetArtifacts().isEmpty()) { // No build yet.
applications.list << BuildTargetInfo(displayName, applications.list << BuildTargetInfo(displayName,
FileName(), FileName(),

View File

@@ -101,8 +101,6 @@ public:
bool needsSpecialDeployment() const override; bool needsSpecialDeployment() const override;
void generateErrors(const qbs::ErrorInfo &e); void generateErrors(const qbs::ErrorInfo &e);
static QString productDisplayName(const qbs::Project &project,
const qbs::ProductData &product);
static QString uniqueProductName(const qbs::ProductData &product); static QString uniqueProductName(const qbs::ProductData &product);
void configureAsExampleProject(const QSet<Core::Id> &platforms) final; void configureAsExampleProject(const QSet<Core::Id> &platforms) final;

View File

@@ -407,7 +407,7 @@ QList<BuildTargetInfo> QbsRunConfigurationFactory::availableBuildTargets(Target
} }
return Utils::transform(products, [project](const qbs::ProductData &product) { return Utils::transform(products, [project](const qbs::ProductData &product) {
QString displayName = QbsProject::productDisplayName(project->qbsProject(), product); QString displayName = product.fullDisplayName();
BuildTargetInfo bti; BuildTargetInfo bti;
bti.targetName = QbsProject::uniqueProductName(product) + rcNameSeparator() + displayName; bti.targetName = QbsProject::uniqueProductName(product) + rcNameSeparator() + displayName;
bti.displayName = displayName; bti.displayName = displayName;