BuildConfiguration: Fix caching of environment

Task-number: QTCREATORBUG-19371
Change-Id: I5ab20cd39d18283d0bd9e5c24db69e7ddba387b9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Tobias Hunger
2017-11-28 11:32:29 +01:00
committed by Eike Ziller
parent 4f8905fe83
commit 2bc872e6b0
3 changed files with 13 additions and 2 deletions

View File

@@ -56,16 +56,21 @@ const char GENERIC_BC_ID[] = "GenericProjectManager.GenericBuildConfiguration";
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent) GenericBuildConfiguration::GenericBuildConfiguration(Target *parent)
: BuildConfiguration(parent, Core::Id(GENERIC_BC_ID)) : BuildConfiguration(parent, Core::Id(GENERIC_BC_ID))
{ } {
updateCacheAndEmitEnvironmentChanged();
}
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id) GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, id) : BuildConfiguration(parent, id)
{ } {
updateCacheAndEmitEnvironmentChanged();
}
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, GenericBuildConfiguration *source) : GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, GenericBuildConfiguration *source) :
BuildConfiguration(parent, source) BuildConfiguration(parent, source)
{ {
cloneSteps(source); cloneSteps(source);
updateCacheAndEmitEnvironmentChanged();
} }
NamedWidget *GenericBuildConfiguration::createConfigWidget() NamedWidget *GenericBuildConfiguration::createConfigWidget()

View File

@@ -98,6 +98,8 @@ BuildConfiguration *AndroidQmakeBuildConfigurationFactory::restore(Target *paren
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target)
: QmakeBuildConfiguration(target) : QmakeBuildConfiguration(target)
{ {
updateCacheAndEmitEnvironmentChanged();
auto updateGrade = [this] { AndroidManager::updateGradleProperties(BuildConfiguration::target()); }; auto updateGrade = [this] { AndroidManager::updateGradleProperties(BuildConfiguration::target()); };
auto project = qobject_cast<QmakeProject *>(target->project()); auto project = qobject_cast<QmakeProject *>(target->project());
@@ -110,11 +112,13 @@ AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target)
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, AndroidQmakeBuildConfiguration *source) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, AndroidQmakeBuildConfiguration *source)
: QmakeBuildConfiguration(target, source) : QmakeBuildConfiguration(target, source)
{ {
updateCacheAndEmitEnvironmentChanged();
} }
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, Core::Id id) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, Core::Id id)
: QmakeBuildConfiguration(target, id) : QmakeBuildConfiguration(target, id)
{ {
updateCacheAndEmitEnvironmentChanged();
} }
void AndroidQmakeBuildConfiguration::addToEnvironment(Utils::Environment &env) const void AndroidQmakeBuildConfiguration::addToEnvironment(Utils::Environment &env) const

View File

@@ -152,6 +152,8 @@ bool QmakeBuildConfiguration::fromMap(const QVariantMap &map)
void QmakeBuildConfiguration::ctor() void QmakeBuildConfiguration::ctor()
{ {
updateCacheAndEmitEnvironmentChanged();
connect(this, &BuildConfiguration::environmentChanged, connect(this, &BuildConfiguration::environmentChanged,
this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded); this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded);
connect(target(), &Target::kitChanged, connect(target(), &Target::kitChanged,