diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2017-03-31 17:17:20 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2017-04-03 11:21:47 +0000 |
commit | a3be2c08eef0dfdbdec53000f552b6f028ec4d04 (patch) | |
tree | 26fe512dde322a370361dc1c09c3daff353929c0 /src | |
parent | 5605337f6a0474977822c19f69de626295e31de8 (diff) | |
download | qt-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.cpp | 21 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakecbpparser.cpp | 9 |
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; |