ProjectExplorer: Return BuildTargetInfo from availableBuildTarget()

... including build target name and display names instead of
returning QString build target names and producing display names
via displayNameForBuildTarget()

This is a mechanical intermediate step on the road to use
Target::applicationTargets().list uniformly as source of build
targets.

Change-Id: I7b0b1fb398d5061b0cec0b86890f9eaf0bb53a19
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-01-03 16:41:40 +01:00
parent 94086e53bd
commit c3d87e81c5
21 changed files with 117 additions and 110 deletions

View File

@@ -53,20 +53,28 @@ IosRunConfigurationFactory::IosRunConfigurationFactory(QObject *parent)
bool IosRunConfigurationFactory::canCreateHelper(Target *parent, const QString &buildTarget) const
{
return availableBuildTargets(parent, UserCreate).contains(buildTarget);
auto project = static_cast<QmakeProject *>(parent->project());
const QList<QString> buildTargets = project->buildTargets(UserCreate, {ProjectType::ApplicationTemplate,
ProjectType::SharedLibraryTemplate,
ProjectType::AuxTemplate});
return buildTargets.contains(buildTarget);
}
QList<QString> IosRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
QList<BuildTargetInfo>
IosRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
{
auto project = static_cast<QmakeProject *>(parent->project());
return project->buildTargets(mode, {ProjectType::ApplicationTemplate,
ProjectType::SharedLibraryTemplate,
ProjectType::AuxTemplate});
}
const QList<QString> buildTargets = project->buildTargets(mode, {ProjectType::ApplicationTemplate,
ProjectType::SharedLibraryTemplate,
ProjectType::AuxTemplate});
QString IosRunConfigurationFactory::displayNameForBuildTarget(const QString &buildTarget) const
{
return QFileInfo(buildTarget).completeBaseName();
return Utils::transform(buildTargets, [](const QString &buildTarget) {
BuildTargetInfo bti;
bti.targetName = buildTarget;
bti.displayName = QFileInfo(buildTarget).completeBaseName();
return bti;
});
}
QList<RunConfiguration *> IosRunConfigurationFactory::runConfigurationsForNode(Target *t, const Node *n)

View File

@@ -43,8 +43,8 @@ class IosRunConfigurationFactory : public QmakeProjectManager::QmakeRunConfigura
public:
explicit IosRunConfigurationFactory(QObject *parent = 0);
QList<QString> availableBuildTargets(ProjectExplorer::Target *parent, CreationMode mode) const override;
QString displayNameForBuildTarget(const QString &buildTarget) const override;
QList<ProjectExplorer::BuildTargetInfo>
availableBuildTargets(ProjectExplorer::Target *parent, CreationMode mode) const override;
bool canCreateHelper(ProjectExplorer::Target *parent, const QString &suffix) const override;