Merge remote-tracking branch 'origin/3.0'

This commit is contained in:
Eike Ziller
2013-10-29 08:17:05 +01:00
155 changed files with 3464 additions and 2565 deletions

View File

@@ -412,7 +412,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);
@@ -423,7 +430,7 @@ void QbsProject::parse(const QVariantMap &config, const Environment &env, const
const qbs::Project &currentProject = qbsProject();
if (!m_forceParsing
&& currentProject.isValid()
&& currentProject.projectConfiguration() == params.buildConfiguration()) {
&& currentProject.projectConfiguration() == params.finalBuildConfigurationTree()) {
QHash<QString, QString> usedEnv = currentProject.usedEnvironment();
bool canSkip = true;
for (QHash<QString, QString>::const_iterator i = usedEnv.constBegin();