forked from qt-creator/qt-creator
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:
@@ -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)
|
||||
|
@@ -60,15 +60,7 @@ QList<BuildTargetInfo>
|
||||
QmakeAndroidRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
|
||||
{
|
||||
auto project = static_cast<QmakeProject *>(parent->project());
|
||||
const QList<QString> buildTargets =
|
||||
project->buildTargets(mode, {ProjectType::ApplicationTemplate, ProjectType::SharedLibraryTemplate});
|
||||
|
||||
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});
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -447,13 +447,7 @@ QList<BuildTargetInfo>
|
||||
DesktopQmakeRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
|
||||
{
|
||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||
const QList<QString> buildTargets = project->buildTargets(mode);
|
||||
return Utils::transform(buildTargets, [](const QString &buildTarget) {
|
||||
BuildTargetInfo bti;
|
||||
bti.targetName = buildTarget;
|
||||
bti.displayName = QFileInfo(buildTarget).completeBaseName();
|
||||
return bti;
|
||||
});
|
||||
return project->buildTargets(mode);
|
||||
}
|
||||
|
||||
QList<RunConfiguration *> DesktopQmakeRunConfigurationFactory::runConfigurationsForNode(Target *t, const Node *n)
|
||||
|
@@ -784,8 +784,8 @@ bool QmakeProject::hasApplicationProFile(const FileName &path) const
|
||||
return Utils::contains(list, Utils::equal(&QmakeProFile::filePath, path));
|
||||
}
|
||||
|
||||
QList<QString> QmakeProject::buildTargets(IRunConfigurationFactory::CreationMode mode,
|
||||
const QList<ProjectType> &projectTypes)
|
||||
QList<BuildTargetInfo> QmakeProject::buildTargets(IRunConfigurationFactory::CreationMode mode,
|
||||
const QList<ProjectType> &projectTypes)
|
||||
{
|
||||
QList<ProjectType> realTypes = projectTypes;
|
||||
if (realTypes.isEmpty())
|
||||
@@ -800,7 +800,12 @@ QList<QString> QmakeProject::buildTargets(IRunConfigurationFactory::CreationMode
|
||||
temp = filtered.isEmpty() ? files : filtered;
|
||||
}
|
||||
|
||||
return Utils::transform(temp, [](QmakeProFile *f) { return f->filePath().toString(); });
|
||||
return Utils::transform(temp, [](QmakeProFile *f) {
|
||||
BuildTargetInfo bti;
|
||||
bti.targetName = f->filePath().toString();
|
||||
bti.displayName = QFileInfo(bti.targetName).completeBaseName();
|
||||
return bti;
|
||||
});
|
||||
}
|
||||
|
||||
void QmakeProject::activeTargetWasChanged()
|
||||
|
@@ -73,8 +73,9 @@ public:
|
||||
QList<QmakeProFile *> applicationProFiles(Parsing parse = ExactParse) const;
|
||||
bool hasApplicationProFile(const Utils::FileName &path) const;
|
||||
|
||||
QList<QString> buildTargets(ProjectExplorer::IRunConfigurationFactory::CreationMode mode,
|
||||
const QList<ProjectType> &projectTypes = {});
|
||||
QList<ProjectExplorer::BuildTargetInfo>
|
||||
buildTargets(ProjectExplorer::IRunConfigurationFactory::CreationMode mode,
|
||||
const QList<ProjectType> &projectTypes = {});
|
||||
|
||||
static void notifyChanged(const Utils::FileName &name);
|
||||
|
||||
|
@@ -49,11 +49,9 @@ QList<ProjectExplorer::BuildTargetInfo>
|
||||
QnxRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
|
||||
{
|
||||
auto project = qobject_cast<QmakeProjectManager::QmakeProject *>(parent->project());
|
||||
const QList<QString> buildTargets = project->buildTargets(mode);
|
||||
return Utils::transform(buildTargets, [](const QString &buildTarget) {
|
||||
BuildTargetInfo bti;
|
||||
bti.targetName = buildTarget;
|
||||
bti.displayName = tr("%1 on QNX Device").arg(QFileInfo(buildTarget).completeBaseName());
|
||||
const QList<BuildTargetInfo> buildTargets = project->buildTargets(mode);
|
||||
return Utils::transform(buildTargets, [](BuildTargetInfo bti) {
|
||||
bti.displayName = tr("%1 on QNX Device").arg(QFileInfo(bti.targetName).completeBaseName());
|
||||
return bti;
|
||||
});
|
||||
}
|
||||
|
@@ -54,10 +54,8 @@ QList<BuildTargetInfo>
|
||||
WinRtRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
|
||||
{
|
||||
QmakeProject *project = static_cast<QmakeProject *>(parent->project());
|
||||
const QList<QString> buildTargets = project->buildTargets(mode);
|
||||
return Utils::transform(buildTargets, [](const QString &buildTarget) {
|
||||
BuildTargetInfo bti;
|
||||
bti.targetName = buildTarget;
|
||||
const QList<BuildTargetInfo> buildTargets = project->buildTargets(mode);
|
||||
return Utils::transform(buildTargets, [](BuildTargetInfo bti) {
|
||||
bti.displayName = tr("Run App Package");
|
||||
return bti;
|
||||
});
|
||||
|
Reference in New Issue
Block a user