diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index b3fca076658..5095c0e57a7 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -59,9 +59,14 @@ using namespace ProjectExplorer::Constants; AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent) : BuildConfiguration(parent, Core::Id(AUTOTOOLS_BC_ID)) { - // / is used so the un-changed check in setBuildDirectory() works correctly. - // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory. - BuildConfiguration::setBuildDirectory(Utils::FileName::fromString(QString::fromLatin1("/"))); + // / is used so the un-changed check in setBuildDirectory() works correctly. + // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory. + BuildConfiguration::setBuildDirectory(Utils::FileName::fromString(QString::fromLatin1("/"))); + + connect(this, &BuildConfiguration::buildDirectoryChanged, this, [this] { + foreach (auto bs, stepList(BUILDSTEPS_BUILD)->allOfType()) + bs->notifyBuildDirectoryChanged(); + }); } NamedWidget *AutotoolsBuildConfiguration::createConfigWidget() @@ -222,12 +227,3 @@ BuildConfiguration::BuildType AutotoolsBuildConfiguration::buildType() const // TODO: Should I return something different from Unknown? return Unknown; } - -void AutotoolsBuildConfiguration::setBuildDirectory(const Utils::FileName &directory) -{ - if (directory == buildDirectory()) - return; - BuildConfiguration::setBuildDirectory(directory); - foreach (auto bs, stepList(BUILDSTEPS_BUILD)->allOfType()) - bs->notifyBuildDirectoryChanged(); -} diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h index 3bceb4cc3aa..3d7f170f5b4 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h @@ -36,7 +36,6 @@ namespace Internal { class AutotoolsTarget; class AutotoolsBuildConfigurationFactory; -class AutotoolsBuildSettingsWidget; class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration { @@ -53,11 +52,6 @@ public: protected: AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id); AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, AutotoolsBuildConfiguration *source); - - friend class AutotoolsBuildSettingsWidget; - -private: - void setBuildDirectory(const Utils::FileName &directory) override; }; class AutotoolsBuildConfigurationFactory : public ProjectExplorer::IBuildConfigurationFactory diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp index d382ec5adb4..81f34e12fb2 100644 --- a/src/plugins/nim/project/nimbuildconfiguration.cpp +++ b/src/plugins/nim/project/nimbuildconfiguration.cpp @@ -54,13 +54,6 @@ BuildConfiguration::BuildType NimBuildConfiguration::buildType() const return BuildConfiguration::Unknown; } -void NimBuildConfiguration::setBuildDirectory(const FileName &dir) -{ - if (dir == buildDirectory()) - return; - BuildConfiguration::setBuildDirectory(dir); -} - bool NimBuildConfiguration::fromMap(const QVariantMap &map) { if (!BuildConfiguration::fromMap(map)) diff --git a/src/plugins/nim/project/nimbuildconfiguration.h b/src/plugins/nim/project/nimbuildconfiguration.h index a205ae1b18e..1228be06806 100644 --- a/src/plugins/nim/project/nimbuildconfiguration.h +++ b/src/plugins/nim/project/nimbuildconfiguration.h @@ -46,8 +46,6 @@ public: ProjectExplorer::BuildConfiguration::BuildType buildType() const override; - void setBuildDirectory(const Utils::FileName &dir) override; - bool fromMap(const QVariantMap &map) override; QVariantMap toMap() const override; diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index dd727abea74..03d42d4dbdc 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -50,6 +50,7 @@ public: Utils::FileName buildDirectory() const; Utils::FileName rawBuildDirectory() const; + void setBuildDirectory(const Utils::FileName &dir); virtual NamedWidget *createConfigWidget() = 0; virtual QList createSubConfigWidgets(); @@ -96,7 +97,6 @@ protected: BuildConfiguration(Target *target, Core::Id id); BuildConfiguration(Target *target, BuildConfiguration *source); - virtual void setBuildDirectory(const Utils::FileName &dir); void cloneSteps(BuildConfiguration *source); void emitEnvironmentChanged();