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