aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2019-07-23 13:05:07 +0200
committerTobias Hunger <tobias.hunger@qt.io>2019-07-29 12:16:10 +0000
commit9481845293a863e6d37af2abad9b3a2fdb9f075d (patch)
tree27f6a783ce034a8029943bf022865b4d83e52a00 /src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
parentf9659211ac4dffacc62437ef5363300e42f243c2 (diff)
CMake: Add helper method to find the default build target for a BuildStep
Add a helper method to find the default build target for a CMakeBuildStep based on the BuildStepList the step is part of. Use all/install/clean targets as appropriate. This change has been cherry-picked from master branch: 8b9821440d0c74083476f5b80c7212de71d4013a Change-Id: Idc0c5fae7dfd255039b87ace77c02688cdd76e8f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakebuildstep.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildstep.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
index 911ac7ae2f0..cc2bcbfeb60 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
@@ -91,14 +91,8 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl) :
}
// Set a good default build target:
- if (m_buildTarget.isEmpty()) {
- if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN)
- setBuildTarget(cleanTarget());
- else if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_DEPLOY)
- setBuildTarget(installTarget());
- else
- setBuildTarget(allTarget());
- }
+ if (m_buildTarget.isEmpty())
+ setBuildTarget(defaultBuildTarget());
connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged);
connect(project(), &Project::parsingFinished,
@@ -277,6 +271,17 @@ BuildStepConfigWidget *CMakeBuildStep::createConfigWidget()
return new CMakeBuildStepConfigWidget(this);
}
+QString CMakeBuildStep::defaultBuildTarget() const
+{
+ const ProjectConfiguration *const pc = qobject_cast<ProjectConfiguration *>(parent());
+ const Core::Id parentId = pc ? pc->id() : Core::Id();
+ if (parentId == ProjectExplorer::Constants::BUILDSTEPS_CLEAN)
+ return cleanTarget();
+ if (parentId == ProjectExplorer::Constants::BUILDSTEPS_DEPLOY)
+ return installTarget();
+ return allTarget();
+}
+
void CMakeBuildStep::stdOutput(const QString &line)
{
if (m_percentProgress.indexIn(line) != -1) {