CMake: Remove CMakeProject::buildTargetTitles

The only user can also get this information from the relevant
CMakeBuildConfiguration.

Change-Id: I80e176ef0a8bc427f6adbf75b20e29f38d7b949f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Tobias Hunger
2019-08-12 14:12:01 +02:00
parent dbfa55f5fc
commit a90b1c26b1
4 changed files with 10 additions and 12 deletions

View File

@@ -108,8 +108,7 @@ void CMakeBuildStep::handleBuildTargetChanges(bool success)
{ {
if (!success) if (!success)
return; // Do not change when parsing failed. return; // Do not change when parsing failed.
if (!isCurrentExecutableTarget(m_buildTarget) if (!isCurrentExecutableTarget(m_buildTarget) && !knownBuildTargets().contains(m_buildTarget)) {
&& !static_cast<CMakeProject *>(project())->buildTargetTitles().contains(m_buildTarget)) {
setBuildTarget(defaultBuildTarget()); setBuildTarget(defaultBuildTarget());
} }
emit buildTargetsChanged(); emit buildTargetsChanged();
@@ -374,6 +373,12 @@ Utils::CommandLine CMakeBuildStep::cmakeCommand(RunConfiguration *rc) const
return cmd; return cmd;
} }
QStringList CMakeBuildStep::knownBuildTargets()
{
auto bc = qobject_cast<CMakeBuildConfiguration *>(buildConfiguration());
return bc ? bc->buildTargetTitles() : QStringList();
}
QString CMakeBuildStep::cleanTarget() QString CMakeBuildStep::cleanTarget()
{ {
return QString("clean"); return QString("clean");
@@ -472,8 +477,7 @@ void CMakeBuildStepConfigWidget::buildTargetsChanged()
QSignalBlocker blocker(m_buildTargetsList); QSignalBlocker blocker(m_buildTargetsList);
m_buildTargetsList->clear(); m_buildTargetsList->clear();
auto pro = static_cast<CMakeProject *>(m_buildStep->project()); QStringList targetList = m_buildStep->knownBuildTargets();
QStringList targetList = pro->buildTargetTitles();
targetList.sort(); targetList.sort();
QFont italics; QFont italics;

View File

@@ -71,6 +71,8 @@ public:
Utils::CommandLine cmakeCommand(ProjectExplorer::RunConfiguration *rc) const; Utils::CommandLine cmakeCommand(ProjectExplorer::RunConfiguration *rc) const;
QStringList knownBuildTargets();
QVariantMap toMap() const override; QVariantMap toMap() const override;
static QString cleanTarget(); static QString cleanTarget();

View File

@@ -392,12 +392,6 @@ void CMakeProject::startParsing(int reparseParameters)
bc->m_buildDirManager.parse(reparseParameters); bc->m_buildDirManager.parse(reparseParameters);
} }
QStringList CMakeProject::buildTargetTitles() const
{
CMakeBuildConfiguration *bc = activeBc(this);
return bc ? bc->buildTargetTitles() : QStringList();
}
bool CMakeProject::setupTarget(Target *t) bool CMakeProject::setupTarget(Target *t)
{ {
t->updateDefaultBuildConfigurations(); t->updateDefaultBuildConfigurations();

View File

@@ -63,8 +63,6 @@ public:
explicit CMakeProject(const Utils::FilePath &filename); explicit CMakeProject(const Utils::FilePath &filename);
~CMakeProject() final; ~CMakeProject() final;
QStringList buildTargetTitles() const;
ProjectExplorer::Tasks projectIssues(const ProjectExplorer::Kit *k) const final; ProjectExplorer::Tasks projectIssues(const ProjectExplorer::Kit *k) const final;
void runCMake(); void runCMake();