Autotools: Simplify make step setup

The extra inheritance level is not needed (and used nowhere else), and
all special default arguments can be determined from the kind of build list.

Change-Id: I5ab9987d7b1fd8e5999b7c4c8796c2c24db03821
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2018-10-22 18:09:56 +02:00
parent 1c6c64df20
commit 8471ce4331
3 changed files with 12 additions and 20 deletions

View File

@@ -88,13 +88,12 @@ void AutotoolsBuildConfiguration::initialize(const BuildInfo *info)
configureStep, &ConfigureStep::notifyBuildDirectoryChanged); configureStep, &ConfigureStep::notifyBuildDirectoryChanged);
// make // make
MakeStep *makeStep = new MakeStep(buildSteps, "all"); MakeStep *makeStep = new MakeStep(buildSteps);
buildSteps->appendStep(makeStep); buildSteps->appendStep(makeStep);
// ### Build Steps Clean ### // ### Build Steps Clean ###
BuildStepList *cleanSteps = stepList(BUILDSTEPS_CLEAN); BuildStepList *cleanSteps = stepList(BUILDSTEPS_CLEAN);
MakeStep *cleanMakeStep = new MakeStep(cleanSteps, "clean"); MakeStep *cleanMakeStep = new MakeStep(cleanSteps);
cleanMakeStep->setClean(true);
cleanSteps->appendStep(cleanMakeStep); cleanSteps->appendStep(cleanMakeStep);
} }

View File

@@ -43,27 +43,20 @@ const char MAKE_STEP_ID[] = "AutotoolsProjectManager.MakeStep";
MakeStepFactory::MakeStepFactory() MakeStepFactory::MakeStepFactory()
{ {
struct Step : public MakeStep registerStep<MakeStep>(MAKE_STEP_ID);
{
Step(ProjectExplorer::BuildStepList *bsl) : MakeStep(bsl)
{
if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) {
setBuildTarget("clean", true);
setClean(true);
} else {
setBuildTarget("all", true);
}
}
};
registerStep<Step>(MAKE_STEP_ID);
setDisplayName(ProjectExplorer::MakeStep::defaultDisplayName()); setDisplayName(ProjectExplorer::MakeStep::defaultDisplayName());
setSupportedProjectType(AUTOTOOLS_PROJECT_ID); setSupportedProjectType(AUTOTOOLS_PROJECT_ID);
} }
// MakeStep // MakeStep
MakeStep::MakeStep(ProjectExplorer::BuildStepList *bsl, const QString &buildTarget) MakeStep::MakeStep(ProjectExplorer::BuildStepList *bsl)
: ProjectExplorer::MakeStep(bsl, MAKE_STEP_ID, buildTarget, {"all", "clean"}) : ProjectExplorer::MakeStep(bsl, MAKE_STEP_ID, QString(), {"all", "clean"})
{ {
if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) {
setBuildTarget("clean", true);
setClean(true);
} else {
setBuildTarget("all", true);
}
} }

View File

@@ -49,7 +49,7 @@ class MakeStep : public ProjectExplorer::MakeStep
Q_OBJECT Q_OBJECT
public: public:
explicit MakeStep(ProjectExplorer::BuildStepList *bsl, const QString &buildTarget = QString()); explicit MakeStep(ProjectExplorer::BuildStepList *bsl);
}; };
} // namespace Internal } // namespace Internal