From 3c7af78448c8902e3538399011d2da11a13f21cf Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 24 Oct 2013 15:10:04 +0200 Subject: [PATCH] QbsProjectManager: Fix overriding of properties. We have to mark the user-set properties appropriately; otherwise, properties in project files will not get overridden. Change-Id: I3bcb013fde2b76521a85c3283e2b158beaf40b26 Reviewed-by: Joerg Bornemann Reviewed-by: Tobias Hunger --- src/plugins/qbsprojectmanager/qbsproject.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index c06c5a121b0..1ba89d52190 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);