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

@@ -408,6 +408,24 @@ CMakeBuildConfigurationFactory::CMakeBuildConfigurationFactory()
setSupportedProjectType(CMakeProjectManager::Constants::CMAKEPROJECT_ID);
setSupportedProjectMimeTypeName(Constants::CMAKEPROJECTMIMETYPE);
setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) {
QList<BuildInfo> result;
FilePath path = forSetup ? Project::projectDirectory(projectPath) : projectPath;
for (int type = BuildTypeDebug; type != BuildTypeLast; ++type) {
BuildInfo info = createBuildInfo(k, path.toString(), BuildType(type));
if (forSetup) {
info.buildDirectory = CMakeBuildConfiguration::shadowBuildDirectory(projectPath,
k,
info.typeName,
info.buildType);
}
result << info;
}
return result;
});
}
CMakeBuildConfigurationFactory::BuildType CMakeBuildConfigurationFactory::buildTypeFromByteArray(
@@ -439,27 +457,6 @@ BuildConfiguration::BuildType CMakeBuildConfigurationFactory::cmakeBuildTypeToBu
return BuildConfiguration::Unknown;
}
QList<BuildInfo> CMakeBuildConfigurationFactory::availableBuilds(const Kit *k,
const FilePath &projectPath,
bool forSetup) const
{
QList<BuildInfo> result;
FilePath path = forSetup ? Project::projectDirectory(projectPath) : projectPath;
for (int type = BuildTypeDebug; type != BuildTypeLast; ++type) {
BuildInfo info = createBuildInfo(k, path.toString(), BuildType(type));
if (forSetup) {
info.buildDirectory = CMakeBuildConfiguration::shadowBuildDirectory(projectPath,
k,
info.typeName,
info.buildType);
}
result << info;
}
return result;
}
BuildInfo CMakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
const QString &,
BuildType buildType) const

View File

@@ -125,10 +125,6 @@ public:
static BuildType buildTypeFromByteArray(const QByteArray &in);
static ProjectExplorer::BuildConfiguration::BuildType cmakeBuildTypeToBuildType(const BuildType &in);
QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *k,
const Utils::FilePath &projectPath,
bool forSetup) const override;
private:
ProjectExplorer::BuildInfo createBuildInfo(const ProjectExplorer::Kit *k,
const QString &sourceDir,