summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-03-31 17:17:20 +0200
committerTobias Hunger <tobias.hunger@qt.io>2017-04-03 11:21:47 +0000
commita3be2c08eef0dfdbdec53000f552b6f028ec4d04 (patch)
tree26fe512dde322a370361dc1c09c3daff353929c0 /src
parent5605337f6a0474977822c19f69de626295e31de8 (diff)
downloadqt-creator-a3be2c08eef0dfdbdec53000f552b6f028ec4d04.tar.gz
CMake: Fix clean target
Always list a "all" and "clean" targets and remove the similar code in the tealeaf reader. This fixes the clean-step falling back to "all" in server-mode. Task-number: QTCREATORBUG-17138 Change-Id: I1ce84f03c2e9829e4bb5f550c10cdef772fabf5b Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildstep.cpp21
-rw-r--r--src/plugins/cmakeprojectmanager/cmakecbpparser.cpp9
2 files changed, 14 insertions, 16 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
index 24ce40dcaa..f92f129c09 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
@@ -444,19 +444,26 @@ QString CMakeBuildStepConfigWidget::displayName() const
return tr("Build", "CMakeProjectManager::CMakeBuildStepConfigWidget display name.");
}
-void CMakeBuildStepConfigWidget::buildTargetsChanged()
+static void createSpecialItem(const QString &text, const QString &data, QListWidget *parent)
{
- const bool wasBlocked = m_buildTargetsList->blockSignals(true);
- m_buildTargetsList->clear();
+ auto item = new QListWidgetItem(text, parent);
- auto item = new QListWidgetItem(tr(ADD_RUNCONFIGURATION_TEXT), m_buildTargetsList);
-
- item->setData(Qt::UserRole, QString::fromLatin1(ADD_RUNCONFIGURATION_TEXT));
+ item->setData(Qt::UserRole, data);
QFont f;
f.setItalic(true);
item->setFont(f);
+}
+
+void CMakeBuildStepConfigWidget::buildTargetsChanged()
+{
+ const bool wasBlocked = m_buildTargetsList->blockSignals(true);
+ m_buildTargetsList->clear();
+
+ createSpecialItem(tr(ADD_RUNCONFIGURATION_TEXT), ADD_RUNCONFIGURATION_TEXT, m_buildTargetsList);
+ createSpecialItem(tr("all"), "all", m_buildTargetsList);
+ createSpecialItem(tr("clean"), "clean", m_buildTargetsList);
- CMakeProject *pro = static_cast<CMakeProject *>(m_buildStep->project());
+ auto pro = static_cast<CMakeProject *>(m_buildStep->project());
QStringList targetList = pro->buildTargetTitles();
targetList.sort();
diff --git a/src/plugins/cmakeprojectmanager/cmakecbpparser.cpp b/src/plugins/cmakeprojectmanager/cmakecbpparser.cpp
index 350950388f..591768f515 100644
--- a/src/plugins/cmakeprojectmanager/cmakecbpparser.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakecbpparser.cpp
@@ -180,15 +180,6 @@ bool CMakeCbpParser::parseCbpFile(CMakeTool::PathMapper mapper, const FileName &
fi.close();
- // There is always a clean target:
- CMakeBuildTarget cleanTarget;
- cleanTarget.title = "clean";
- cleanTarget.targetType = UtilityType;
- cleanTarget.workingDirectory = m_buildDirectory;
- cleanTarget.sourceDirectory = m_sourceDirectory;
-
- m_buildTargets.append(cleanTarget);
-
return true;
}
return false;