forked from qt-creator/qt-creator
BuildConfiguration: De-virtualize setBuildConfiguration
... and adjust users in Nim and Autotoolsplugins. Change-Id: I6133ca933a5a4dc4d7d9ff73c8ca7afaa51ae516 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -62,6 +62,11 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent) :
|
||||
// /<foobar> 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("/<foobar>")));
|
||||
|
||||
connect(this, &BuildConfiguration::buildDirectoryChanged, this, [this] {
|
||||
foreach (auto bs, stepList(BUILDSTEPS_BUILD)->allOfType<ConfigureStep>())
|
||||
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<ConfigureStep>())
|
||||
bs->notifyBuildDirectoryChanged();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<NamedWidget *> 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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user