diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 76261a01dd7..4b11176e73a 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -1441,7 +1441,7 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id) addAspect(); addAspect(this); - addAspect(target); + addAspect(this); setInitialBuildAndCleanSteps(target); @@ -2254,8 +2254,9 @@ public: } }; -ConfigureEnvironmentAspect::ConfigureEnvironmentAspect(ProjectExplorer::Target *target) +ConfigureEnvironmentAspect::ConfigureEnvironmentAspect(BuildConfiguration *bc) { + Target *target = bc->target(); setIsLocal(true); setAllowPrintOnRun(false); setConfigWidgetCreator( @@ -2268,14 +2269,8 @@ ConfigureEnvironmentAspect::ConfigureEnvironmentAspect(ProjectExplorer::Target * return device ? device->systemEnvironment() : Environment::systemEnvironment(); }); - const int buildEnvIndex = addSupportedBaseEnvironment(Tr::tr("Build Environment"), [target] { - Environment env; - if (BuildConfiguration *bc = target->activeBuildConfiguration()) { - env = bc->environment(); - } else { // Fallback for targets without buildconfigurations: - env = target->kit()->buildEnvironment(); - } - return env; + const int buildEnvIndex = addSupportedBaseEnvironment(Tr::tr("Build Environment"), [bc] { + return bc->environment(); }); connect(target, diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index bf7ff14c74b..ae0913f23d1 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -142,7 +142,7 @@ class ConfigureEnvironmentAspect final: public ProjectExplorer::EnvironmentAspec Q_OBJECT public: - ConfigureEnvironmentAspect(ProjectExplorer::Target *target); + explicit ConfigureEnvironmentAspect(ProjectExplorer::BuildConfiguration *buildConfig); void fromMap(const QVariantMap &map); void toMap(QVariantMap &map) const;