aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/genericprojectmanager/genericmakestep.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-07-30 13:45:05 +0200
committerhjk <hjk@qt.io>2019-07-31 15:20:30 +0000
commitad99e150cc586411ba5175fdba7220269b971e14 (patch)
tree89463512684595bc15d4c13bb28308ee3a0296aa /src/plugins/genericprojectmanager/genericmakestep.cpp
parent0d6468a8af2d1148b9ab9047cb29edb414443997 (diff)
GenericProject: Normalize make step setup
We have only one id for the steps, so short of coming up with some fancy upgrade mechanism, stick to the one kind of step, but also use only one factory, and do the switch in the step constructor based on the nature of the parent buildsteplist. Change-Id: I8fcc599682840d61e4a7f8b6fb7b792aafdd8766 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/genericprojectmanager/genericmakestep.cpp')
-rw-r--r--src/plugins/genericprojectmanager/genericmakestep.cpp50
1 files changed, 11 insertions, 39 deletions
diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp
index 95b83c789a..184aacb11c 100644
--- a/src/plugins/genericprojectmanager/genericmakestep.cpp
+++ b/src/plugins/genericprojectmanager/genericmakestep.cpp
@@ -26,6 +26,7 @@
#include "genericmakestep.h"
#include "genericprojectconstants.h"
+#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/projectexplorerconstants.h>
using namespace ProjectExplorer;
@@ -33,52 +34,23 @@ using namespace ProjectExplorer;
namespace GenericProjectManager {
namespace Internal {
-const char GENERIC_MS_ID[] = "GenericProjectManager.GenericMakeStep";
-
-GenericMakeStep::GenericMakeStep(BuildStepList *parent, const QString &buildTarget)
- : MakeStep(parent, GENERIC_MS_ID)
+GenericMakeStep::GenericMakeStep(BuildStepList *parent)
+ : MakeStep(parent, Constants::GENERIC_MS_ID)
{
- setBuildTarget(buildTarget);
+ if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_BUILD) {
+ setBuildTarget("all");
+ } else if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) {
+ setBuildTarget("clean");
+ setClean(true);
+ }
setAvailableBuildTargets({"all", "clean"});
}
-//
-// GenericMakeAllStepFactory
-//
-
-GenericMakeAllStepFactory::GenericMakeAllStepFactory()
-{
- struct Step : GenericMakeStep
- {
- Step(BuildStepList *bsl) : GenericMakeStep(bsl) { setBuildTarget("all"); }
- };
-
- registerStep<Step>(GENERIC_MS_ID);
- setDisplayName(MakeStep::defaultDisplayName());
- setSupportedProjectType(Constants::GENERICPROJECT_ID);
- setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD,
- ProjectExplorer::Constants::BUILDSTEPS_DEPLOY});
-}
-
-//
-// GenericMakeCleanStepFactory
-//
-
-GenericMakeCleanStepFactory::GenericMakeCleanStepFactory()
+GenericMakeStepFactory::GenericMakeStepFactory()
{
- struct Step : GenericMakeStep
- {
- Step(BuildStepList *bsl) : GenericMakeStep(bsl)
- {
- setBuildTarget("clean", true);
- setClean(true);
- }
- };
-
- registerStep<Step>(GENERIC_MS_ID);
+ registerStep<GenericMakeStep>(Constants::GENERIC_MS_ID);
setDisplayName(MakeStep::defaultDisplayName());
setSupportedProjectType(Constants::GENERICPROJECT_ID);
- setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
}
} // namespace Internal