ProjectExplorer: Replace BuildConfigurationFactory::availableBuilds

... by a function object.

Change-Id: I9953ba6915c0177e7c4067d36dd755fc2ba5cf84
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-01-09 15:06:30 +01:00
parent ce69a9af83
commit a971da3bfe
19 changed files with 149 additions and 195 deletions

View File

@@ -711,6 +711,31 @@ QmakeBuildConfigurationFactory::QmakeBuildConfigurationFactory()
}
return issues;
});
setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) {
QList<BuildInfo> result;
BaseQtVersion *qtVersion = QtKitAspect::qtVersion(k);
if (forSetup && (!qtVersion || !qtVersion->isValid()))
return result;
const auto addBuild = [&](BuildConfiguration::BuildType buildType) {
BuildInfo info = createBuildInfo(k, projectPath, buildType);
if (!forSetup) {
info.displayName.clear(); // ask for a name
info.buildDirectory.clear(); // This depends on the displayName
}
result << info;
};
addBuild(BuildConfiguration::Debug);
addBuild(BuildConfiguration::Release);
if (qtVersion && qtVersion->qtVersion().majorVersion > 4)
addBuild(BuildConfiguration::Profile);
return result;
});
}
BuildInfo QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
@@ -779,32 +804,6 @@ BuildInfo QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
return info;
}
QList<BuildInfo> QmakeBuildConfigurationFactory::availableBuilds(const Kit *k, const FilePath &projectPath, bool forSetup) const
{
QList<BuildInfo> result;
BaseQtVersion *qtVersion = QtKitAspect::qtVersion(k);
if (forSetup && (!qtVersion || !qtVersion->isValid()))
return {};
const auto addBuild = [&](BuildConfiguration::BuildType buildType) {
BuildInfo info = createBuildInfo(k, projectPath, buildType);
if (!forSetup) {
info.displayName.clear(); // ask for a name
info.buildDirectory.clear(); // This depends on the displayName
}
result << info;
};
addBuild(BuildConfiguration::Debug);
addBuild(BuildConfiguration::Release);
if (qtVersion && qtVersion->qtVersion().majorVersion > 4)
addBuild(BuildConfiguration::Profile);
return result;
}
BuildConfiguration::BuildType QmakeBuildConfiguration::buildType() const
{
if (qmakeBuildConfiguration() & BaseQtVersion::DebugBuild)