diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index c06c5a121b0ffc1e40a9af08a0ee8bddf7b62e1e..1ba89d52190aee1bff4880dde38c145c2e69e7fa 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -416,7 +416,14 @@ void QbsProject::parse(const QVariantMap &config, const Environment &env, const QTC_ASSERT(!dir.isNull(), return); qbs::SetupProjectParameters params; - params.setBuildConfiguration(config); + QVariantMap baseConfig; + QVariantMap userConfig = config; + QString specialKey = QLatin1String(Constants::QBS_CONFIG_PROFILE_KEY); + baseConfig.insert(specialKey, userConfig.take(specialKey)); + specialKey = QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY); + baseConfig.insert(specialKey, userConfig.take(specialKey)); + params.setBuildConfiguration(baseConfig); + params.setOverriddenValues(userConfig); qbs::ErrorInfo err = params.expandBuildConfiguration(m_manager->settings()); if (err.hasError()) { generateErrors(err);