Qmake: Simplify collection of available builds

No need for temporary list.

Change-Id: I77c2bace2c4b4eea95b36f8a075e07850ca8a4f6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-12-05 14:06:16 +01:00
parent b6363ef7b8
commit 85b7833a3e

View File

@@ -788,15 +788,6 @@ BuildInfo QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
return info; return info;
} }
static const QList<BuildConfiguration::BuildType> availableBuildTypes(const BaseQtVersion *version)
{
QList<BuildConfiguration::BuildType> types = {BuildConfiguration::Debug,
BuildConfiguration::Release};
if (version && version->qtVersion().majorVersion > 4)
types << BuildConfiguration::Profile;
return types;
}
QList<BuildInfo> QmakeBuildConfigurationFactory::availableBuilds(const Kit *k, const FilePath &projectPath, bool forSetup) const QList<BuildInfo> QmakeBuildConfigurationFactory::availableBuilds(const Kit *k, const FilePath &projectPath, bool forSetup) const
{ {
QList<BuildInfo> result; QList<BuildInfo> result;
@@ -806,16 +797,19 @@ QList<BuildInfo> QmakeBuildConfigurationFactory::availableBuilds(const Kit *k, c
if (forSetup && (!qtVersion || !qtVersion->isValid())) if (forSetup && (!qtVersion || !qtVersion->isValid()))
return {}; return {};
const auto addBuild = [&](BuildConfiguration::BuildType buildType) {
for (BuildConfiguration::BuildType buildType : availableBuildTypes(qtVersion)) {
BuildInfo info = createBuildInfo(k, projectPath, buildType); BuildInfo info = createBuildInfo(k, projectPath, buildType);
if (!forSetup) { if (!forSetup) {
info.displayName.clear(); // ask for a name info.displayName.clear(); // ask for a name
info.buildDirectory.clear(); // This depends on the displayName info.buildDirectory.clear(); // This depends on the displayName
} }
result << info; result << info;
};
} addBuild(BuildConfiguration::Debug);
addBuild(BuildConfiguration::Release);
if (qtVersion && qtVersion->qtVersion().majorVersion > 4)
addBuild(BuildConfiguration::Profile);
return result; return result;
} }