diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 4cd7b63f55d..b24b28b5203 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -182,7 +182,7 @@ bool QbsBuildConfiguration::fromMap(const QVariantMap &map) return false; if (m_configurationName->value().isEmpty()) { // pre-4.4 backwards compatibility - const QString profileName = QbsProfileManager::profileForKit(target()->kit()); + const QString profileName = QbsProfileManager::profileNameForKit(target()->kit()); const QString buildVariant = qbsConfiguration() .value(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY)).toString(); m_configurationName->setValue(profileName + '-' + buildVariant); @@ -376,7 +376,7 @@ QString QbsBuildConfiguration::equivalentCommandLine(const BuildStep *buildStep) if (jobCount > 0) commandLine.addArgs({"--jobs", QString::number(jobCount)}); - const QString profileName = QbsProfileManager::profileForKit(buildStep->target()->kit()); + const QString profileName = QbsProfileManager::profileNameForKit(buildStep->target()->kit()); const QString buildVariant = qbsConfiguration() .value(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY)).toString(); commandLine.addArg("config:" + configurationName()); diff --git a/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp b/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp index c221240b773..de8a0becc65 100644 --- a/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp @@ -146,17 +146,12 @@ QbsProfileManager *QbsProfileManager::instance() return m_instance; } -QString QbsProfileManager::profileForKit(const ProjectExplorer::Kit *k) +QString QbsProfileManager::ensureProfileForKit(const ProjectExplorer::Kit *k) { if (!k) return QString(); m_instance->updateProfileIfNecessary(k); - const QString output = runQbsConfig(QbsConfigOp::Get, kitNameKeyInQbsSettings(k)); - const int endQuoteIdx = output.lastIndexOf('"'); - QTC_ASSERT(endQuoteIdx != -1, return QString()); - const int startQuoteIdx = output.lastIndexOf('"', endQuoteIdx - 1); - QTC_ASSERT(startQuoteIdx != -1, return QString()); - return output.mid(startQuoteIdx + 1, endQuoteIdx - startQuoteIdx - 1); + return profileNameForKit(k); } void QbsProfileManager::setProfileForKit(const QString &name, const ProjectExplorer::Kit *k) @@ -197,9 +192,7 @@ void QbsProfileManager::addQtProfileFromKit(const QString &profileName, const Pr void QbsProfileManager::addProfileFromKit(const ProjectExplorer::Kit *k) { - const QString name = QString::fromLatin1("qtc_%1_%2").arg(k->fileSystemFriendlyName().left(8), - QString::fromLatin1(QCryptographicHash::hash(k->id().name(), - QCryptographicHash::Sha1).toHex().left(8))); + const QString name = profileNameForKit(k); runQbsConfig(QbsConfigOp::Unset, "profiles." + name); setProfileForKit(name, k); addQtProfileFromKit(name, k); @@ -224,10 +217,19 @@ void QbsProfileManager::handleKitRemoval(ProjectExplorer::Kit *kit) { m_kitsToBeSetupForQbs.removeOne(kit); runQbsConfig(QbsConfigOp::Unset, kitNameKeyInQbsSettings(kit)); - runQbsConfig(QbsConfigOp::Unset, "profiles." + profileForKit(kit)); + runQbsConfig(QbsConfigOp::Unset, "profiles." + profileNameForKit(kit)); emit qbsProfilesUpdated(); } +QString QbsProfileManager::profileNameForKit(const ProjectExplorer::Kit *kit) +{ + if (!kit) + return QString(); + return QString::fromLatin1("qtc_%1_%2").arg(kit->fileSystemFriendlyName().left(8), + QString::fromLatin1(QCryptographicHash::hash( + kit->id().name(), QCryptographicHash::Sha1).toHex().left(8))); +} + QString QbsProfileManager::runQbsConfig(QbsConfigOp op, const QString &key, const QVariant &value) { QProcess qbsConfig; diff --git a/src/plugins/qbsprojectmanager/qbsprofilemanager.h b/src/plugins/qbsprojectmanager/qbsprofilemanager.h index 6ec489184c6..73f52c3d9f8 100644 --- a/src/plugins/qbsprojectmanager/qbsprofilemanager.h +++ b/src/plugins/qbsprojectmanager/qbsprofilemanager.h @@ -49,7 +49,8 @@ public: static QbsProfileManager *instance(); - static QString profileForKit(const ProjectExplorer::Kit *k); + static QString ensureProfileForKit(const ProjectExplorer::Kit *k); + static QString profileNameForKit(const ProjectExplorer::Kit *kit); static void updateProfileIfNecessary(const ProjectExplorer::Kit *kit); enum class QbsConfigOp { Get, Set, Unset }; static QString runQbsConfig(QbsConfigOp op, const QString &key, const QVariant &value = {}); diff --git a/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp b/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp index 2d1ebfb30bf..e7de4830aae 100644 --- a/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp +++ b/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp @@ -195,7 +195,7 @@ void QbsProfilesSettingsWidget::displayCurrentProfile() const Core::Id kitId = Core::Id::fromSetting(m_ui.kitsComboBox->currentData()); const Kit * const kit = KitManager::kit(kitId); QTC_ASSERT(kit, return); - const QString profileName = QbsProfileManager::profileForKit(kit); + const QString profileName = QbsProfileManager::ensureProfileForKit(kit); m_ui.profileValueLabel->setText(profileName); for (int i = 0; i < m_model.rowCount(); ++i) { const QModelIndex currentProfileIndex = m_model.index(i, 0); diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 008cf06921c..b15fe479250 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -435,7 +435,7 @@ bool QbsBuildSystem::renameFileInProduct( QString QbsBuildSystem::profile() const { - return QbsProfileManager::profileForKit(target()->kit()); + return QbsProfileManager::ensureProfileForKit(target()->kit()); } bool QbsBuildSystem::checkCancelStatus()