QmakeProject: Make availableBuildTargets return a BuildTargetInfo list

It's what the "consumer side" expects.

Change-Id: I1a4e75eda09f8626fcf65290e6c58a08eed9fdca
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-01-05 12:06:56 +01:00
parent 54160400e9
commit c39eb08ac4
7 changed files with 25 additions and 46 deletions

View File

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