summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cmakeprojectmanager')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildstep.cpp8
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp4
2 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
index 07fdd16f05..dac933afc3 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
@@ -534,6 +534,14 @@ void CMakeBuildStep::recreateBuildTargetsModel()
addItem(QString(), true);
+ // Remove the targets that do not exist in the build system
+ // This can result when selected targets get renamed
+ if (!targetList.empty()) {
+ Utils::erase(m_buildTargets, [targetList](const QString &bt) { return !targetList.contains(bt); });
+ if (m_buildTargets.empty())
+ m_buildTargets.push_back(m_allTarget);
+ }
+
for (const QString &buildTarget : qAsConst(targetList))
addItem(buildTarget, specialTargets(usesAllCapsTargets).contains(buildTarget));
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
index 1755181948..eafbe2c9f2 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
@@ -932,10 +932,6 @@ void CMakeBuildSystem::becameDirty()
if (isParsing())
return;
- const CMakeTool *tool = m_parameters.cmakeTool();
- if (!tool->isAutoRun())
- return;
-
setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()), REPARSE_SCAN);
}