diff options
author | hjk <hjk@qt.io> | 2020-01-09 15:06:30 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-01-09 15:42:21 +0000 |
commit | a971da3bfecb7624b23f09f4c31cfb79ff8b50f8 (patch) | |
tree | 3bbf5787201300c000f7cf1d8db15343846643db /src/plugins | |
parent | ce69a9af83f4fb9e3074175f382c3b1da382d67f (diff) |
ProjectExplorer: Replace BuildConfigurationFactory::availableBuilds
... by a function object.
Change-Id: I9953ba6915c0177e7c4067d36dd755fc2ba5cf84
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins')
19 files changed, 149 insertions, 195 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 6de5139f2f..eb9b7ad930 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -75,20 +75,19 @@ AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory() setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID); setSupportedProjectMimeTypeName(Constants::MAKEFILE_MIMETYPE); -} -QList<BuildInfo> AutotoolsBuildConfigurationFactory::availableBuilds - (const Kit *k, const FilePath &projectPath, bool forSetup) const -{ - BuildInfo info(this); - info.typeName = tr("Build"); - info.buildDirectory = forSetup ? FilePath::fromString(projectPath.toFileInfo().absolutePath()) : projectPath; - info.kitId = k->id(); - if (forSetup) { - //: The name of the build configuration created by default for a autotools project. - info.displayName = tr("Default"); - } - return {info}; + setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) { + BuildInfo info(this); + info.typeName = tr("Build"); + info.buildDirectory = forSetup + ? FilePath::fromString(projectPath.toFileInfo().absolutePath()) : projectPath; + info.kitId = k->id(); + if (forSetup) { + //: The name of the build configuration created by default for a autotools project. + info.displayName = tr("Default"); + } + return QList<BuildInfo>{info}; + }); } } // Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h index ca74485919..0a9671e8b8 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h @@ -46,11 +46,6 @@ class AutotoolsBuildConfigurationFactory : public ProjectExplorer::BuildConfigur public: AutotoolsBuildConfigurationFactory(); - -private: - QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *k, - const Utils::FilePath &projectPath, - bool forSetup) const override; }; } // namespace Internal diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index d2ff275fa9..4865485b1e 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -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 diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index f2394f8e39..b02204af49 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -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, diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp index 5f280b19f7..a1714ef8a6 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp @@ -538,19 +538,17 @@ CompilationDatabaseBuildConfigurationFactory::CompilationDatabaseBuildConfigurat setSupportedProjectType(Constants::COMPILATIONDATABASEPROJECT_ID); setSupportedProjectMimeTypeName(Constants::COMPILATIONDATABASEMIMETYPE); -} -QList<BuildInfo> CompilationDatabaseBuildConfigurationFactory::availableBuilds - (const Kit *kit, const FilePath &projectPath, bool) const -{ - const QString name = tr("Release"); - ProjectExplorer::BuildInfo info(this); - info.typeName = name; - info.displayName = name; - info.buildType = BuildConfiguration::Release; - info.buildDirectory = projectPath.parentDir(); - info.kitId = kit->id(); - return {info}; + setBuildGenerator([this](const Kit *kit, const FilePath &projectPath, bool) { + const QString name = tr("Release"); + ProjectExplorer::BuildInfo info(this); + info.typeName = name; + info.displayName = name; + info.buildType = BuildConfiguration::Release; + info.buildDirectory = projectPath.parentDir(); + info.kitId = kit->id(); + return QList<BuildInfo>{info}; + }); } } // namespace Internal diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h index 463126a5a3..778cb98b3b 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h @@ -100,10 +100,6 @@ class CompilationDatabaseBuildConfigurationFactory Q_OBJECT public: CompilationDatabaseBuildConfigurationFactory(); - - QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *k, - const Utils::FilePath &projectPath, - bool forSetup) const override; }; } // namespace Internal diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index 6b549c313e..3c04417c77 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -76,22 +76,20 @@ GenericBuildConfigurationFactory::GenericBuildConfigurationFactory() setSupportedProjectType(Constants::GENERICPROJECT_ID); setSupportedProjectMimeTypeName(Constants::GENERICMIMETYPE); -} -QList<BuildInfo> GenericBuildConfigurationFactory::availableBuilds - (const Kit *k, const FilePath &projectPath, bool forSetup) const -{ - BuildInfo info(this); - info.typeName = tr("Build"); - info.buildDirectory = forSetup ? Project::projectDirectory(projectPath) : projectPath; - info.kitId = k->id(); + setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) { + BuildInfo info(this); + info.typeName = tr("Build"); + info.buildDirectory = forSetup ? Project::projectDirectory(projectPath) : projectPath; + info.kitId = k->id(); - if (forSetup) { - //: The name of the build configuration created by default for a generic project. - info.displayName = tr("Default"); - } + if (forSetup) { + //: The name of the build configuration created by default for a generic project. + info.displayName = tr("Default"); + } - return {info}; + return QList<BuildInfo>{info}; + }); } void GenericBuildConfiguration::addToEnvironment(Utils::Environment &env) const diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.h b/src/plugins/genericprojectmanager/genericbuildconfiguration.h index 9416dd1414..fbb3970128 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.h +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.h @@ -46,11 +46,6 @@ class GenericBuildConfigurationFactory : public ProjectExplorer::BuildConfigurat public: GenericBuildConfigurationFactory(); - -private: - QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *k, - const Utils::FilePath &projectPath, - bool forSetup) const override; }; } // namespace Internal diff --git a/src/plugins/nim/project/nimblebuildconfiguration.cpp b/src/plugins/nim/project/nimblebuildconfiguration.cpp index 19f4563ccc..4035589f14 100644 --- a/src/plugins/nim/project/nimblebuildconfiguration.cpp +++ b/src/plugins/nim/project/nimblebuildconfiguration.cpp @@ -85,25 +85,22 @@ NimbleBuildConfigurationFactory::NimbleBuildConfigurationFactory() registerBuildConfiguration<NimbleBuildConfiguration>(Constants::C_NIMBLEBUILDCONFIGURATION_ID); setSupportedProjectType(Constants::C_NIMBLEPROJECT_ID); setSupportedProjectMimeTypeName(Constants::C_NIMBLE_MIMETYPE); -} - -QList<BuildInfo> NimbleBuildConfigurationFactory::availableBuilds(const Kit *k, const Utils::FilePath &projectPath, bool forSetup) const -{ - static const QList<BuildConfiguration::BuildType> configurations = {BuildConfiguration::Debug, BuildConfiguration::Release}; - return Utils::transform(configurations, [&](BuildConfiguration::BuildType buildType){ - BuildInfo info(this); - info.buildType = buildType; - info.kitId = k->id(); - - if (buildType == BuildConfiguration::Debug) - info.typeName = tr("Debug"); - else if (buildType == BuildConfiguration::Release) - info.typeName = tr("Release"); - if (forSetup) { - info.displayName = info.typeName; - info.buildDirectory = projectPath.parentDir(); - } - return info; + setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) { + const auto oneBuild = [&](BuildConfiguration::BuildType buildType, const QString &typeName) { + BuildInfo info(this); + info.buildType = buildType; + info.kitId = k->id(); + info.typeName = typeName; + if (forSetup) { + info.displayName = info.typeName; + info.buildDirectory = projectPath.parentDir(); + } + return info; + }; + return QList<BuildInfo>{ + oneBuild(BuildConfiguration::Debug, tr("Debug")), + oneBuild(BuildConfiguration::Release, tr("Release")) + }; }); } diff --git a/src/plugins/nim/project/nimblebuildconfiguration.h b/src/plugins/nim/project/nimblebuildconfiguration.h index 8990842615..707e5cef21 100644 --- a/src/plugins/nim/project/nimblebuildconfiguration.h +++ b/src/plugins/nim/project/nimblebuildconfiguration.h @@ -54,11 +54,6 @@ class NimbleBuildConfigurationFactory : public ProjectExplorer::BuildConfigurati public: NimbleBuildConfigurationFactory(); - -private: - QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *k, - const Utils::FilePath &projectPath, - bool forSetup) const override; }; } diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp index d0abc3f3db..82133cb1a0 100644 --- a/src/plugins/nim/project/nimbuildconfiguration.cpp +++ b/src/plugins/nim/project/nimbuildconfiguration.cpp @@ -134,31 +134,24 @@ NimBuildConfigurationFactory::NimBuildConfigurationFactory() registerBuildConfiguration<NimBuildConfiguration>(Constants::C_NIMBUILDCONFIGURATION_ID); setSupportedProjectType(Constants::C_NIMPROJECT_ID); setSupportedProjectMimeTypeName(Constants::C_NIM_PROJECT_MIMETYPE); -} -QList<BuildInfo> NimBuildConfigurationFactory::availableBuilds - (const Kit *k, const FilePath &projectPath, bool forSetup) const -{ - QList<BuildInfo> result; - for (auto buildType : {BuildConfiguration::Debug, BuildConfiguration::Release}) { - BuildInfo info(this); - info.buildType = buildType; - info.kitId = k->id(); - - if (buildType == BuildConfiguration::Debug) - info.typeName = tr("Debug"); - else if (buildType == BuildConfiguration::Profile) - info.typeName = tr("Profile"); - else if (buildType == BuildConfiguration::Release) - info.typeName = tr("Release"); - - if (forSetup) { - info.displayName = info.typeName; - info.buildDirectory = defaultBuildDirectory(k, projectPath, info.typeName, buildType); - } - result.push_back(info); - } - return result; + setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) { + const auto oneBuild = [&](BuildConfiguration::BuildType buildType, const QString &typeName) { + BuildInfo info(this); + info.buildType = buildType; + info.kitId = k->id(); + info.typeName = typeName; + if (forSetup) { + info.displayName = info.typeName; + info.buildDirectory = defaultBuildDirectory(k, projectPath, info.typeName, buildType); + } + return info; + }; + return QList<BuildInfo>{ + oneBuild(BuildConfiguration::Debug, tr("Debug")), + oneBuild(BuildConfiguration::Release, tr("Release")) + }; + }); } } // namespace Nim diff --git a/src/plugins/nim/project/nimbuildconfiguration.h b/src/plugins/nim/project/nimbuildconfiguration.h index a5c7cd23f7..54fd0727ce 100644 --- a/src/plugins/nim/project/nimbuildconfiguration.h +++ b/src/plugins/nim/project/nimbuildconfiguration.h @@ -58,11 +58,6 @@ class NimBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationF public: NimBuildConfigurationFactory(); - -private: - QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *k, - const Utils::FilePath &projectPath, - bool forSetup) const override; }; } diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 6e50196ce2..35f2e908c4 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -508,13 +508,15 @@ const Tasks BuildConfigurationFactory::reportIssues(ProjectExplorer::Kit *kit, c const QList<BuildInfo> BuildConfigurationFactory::allAvailableBuilds(const Target *parent) const { - return availableBuilds(parent->kit(), parent->project()->projectFilePath(), false); + QTC_ASSERT(m_buildGenerator, return {}); + return m_buildGenerator(parent->kit(), parent->project()->projectFilePath(), false); } const QList<BuildInfo> BuildConfigurationFactory::allAvailableSetups(const Kit *k, const FilePath &projectPath) const { - return availableBuilds(k, projectPath, /* forSetup = */ true); + QTC_ASSERT(m_buildGenerator, return {}); + return m_buildGenerator(k, projectPath, /* forSetup = */ true); } bool BuildConfigurationFactory::supportsTargetDeviceType(Core::Id id) const @@ -577,6 +579,11 @@ bool BuildConfigurationFactory::canHandle(const Target *target) const return true; } +void BuildConfigurationFactory::setBuildGenerator(const BuildGenerator &buildGenerator) +{ + m_buildGenerator = buildGenerator; +} + void BuildConfigurationFactory::setIssueReporter(const IssueReporter &issueReporter) { m_issueReporter = issueReporter; diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index f940be1a77..95b53b11f6 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -163,8 +163,9 @@ public: const QString &projectPath, const QString &buildDir) const; protected: - virtual QList<BuildInfo> - availableBuilds(const Kit *k, const Utils::FilePath &projectPath, bool forSetup) const = 0; + using BuildGenerator + = std::function<QList<BuildInfo>(const Kit *, const Utils::FilePath &, bool)>; + void setBuildGenerator(const BuildGenerator &buildGenerator); bool supportsTargetDeviceType(Core::Id id) const; void setSupportedProjectType(Core::Id id); @@ -191,6 +192,7 @@ private: QList<Core::Id> m_supportedTargetDeviceTypes; QString m_supportedProjectMimeTypeName; IssueReporter m_issueReporter; + BuildGenerator m_buildGenerator; }; } // namespace ProjectExplorer diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 23dc20c489..0fedc5e88d 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -422,39 +422,38 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory() return version ? version->reportIssues(projectPath, buildDir) : Tasks(); }); -} -QList<BuildInfo> QbsBuildConfigurationFactory::availableBuilds(const Kit *k, const FilePath &projectPath, bool forSetup) const -{ - QList<BuildInfo> result; + setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) { + QList<BuildInfo> result; - if (forSetup) { + if (forSetup) { - BuildInfo info = createBuildInfo(k, BuildConfiguration::Debug); - //: The name of the debug build configuration created by default for a qbs project. - info.displayName = tr("Debug"); - //: Non-ASCII characters in directory suffix may cause build issues. - info.buildDirectory - = defaultBuildDirectory(projectPath, k, tr("Debug", "Shadow build directory suffix"), - info.buildType); - result << info; + BuildInfo info = createBuildInfo(k, BuildConfiguration::Debug); + //: The name of the debug build configuration created by default for a qbs project. + info.displayName = tr("Debug"); + //: Non-ASCII characters in directory suffix may cause build issues. + info.buildDirectory + = defaultBuildDirectory(projectPath, k, tr("Debug", "Shadow build directory suffix"), + info.buildType); + result << info; - info = createBuildInfo(k, BuildConfiguration::Release); - //: The name of the release build configuration created by default for a qbs project. - info.displayName = tr("Release"); - //: Non-ASCII characters in directory suffix may cause build issues. - info.buildDirectory - = defaultBuildDirectory(projectPath, k, tr("Release", "Shadow build directory suffix"), - info.buildType); - result << info; + info = createBuildInfo(k, BuildConfiguration::Release); + //: The name of the release build configuration created by default for a qbs project. + info.displayName = tr("Release"); + //: Non-ASCII characters in directory suffix may cause build issues. + info.buildDirectory + = defaultBuildDirectory(projectPath, k, tr("Release", "Shadow build directory suffix"), + info.buildType); + result << info; - } else { + } else { - result << createBuildInfo(k, BuildConfiguration::Debug); + result << createBuildInfo(k, BuildConfiguration::Debug); - } + } - return result; + return result; + }); } BuildInfo QbsBuildConfigurationFactory::createBuildInfo(const Kit *k, diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h index 94507080d6..cd303ab52e 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h @@ -102,9 +102,6 @@ class QbsBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationF public: QbsBuildConfigurationFactory(); - QList<ProjectExplorer::BuildInfo> availableBuilds - (const ProjectExplorer::Kit *k, const Utils::FilePath &projectPath, bool forSetup) const override; - private: ProjectExplorer::BuildInfo createBuildInfo(const ProjectExplorer::Kit *k, ProjectExplorer::BuildConfiguration::BuildType type) const; diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 286a6c2d5f..fdf0baf2aa 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -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) diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index e003d86f7e..28cabf1693 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -158,9 +158,6 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeBuildConfigurationFactory : public Project public: QmakeBuildConfigurationFactory(); - 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 Utils::FilePath &projectPath, ProjectExplorer::BuildConfiguration::BuildType type) const; diff --git a/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp b/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp index 50be99a19d..418cc4641e 100644 --- a/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp @@ -68,13 +68,12 @@ public: bool needsConfiguration() const final { return false; } }; -class DummyBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationFactory +class DummyBuildConfigurationFactory : public BuildConfigurationFactory { public: - QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Kit *, - const FilePath &, bool) const final + DummyBuildConfigurationFactory() { - return {}; + setBuildGenerator([](const Kit *, const FilePath &, bool) { return QList<BuildInfo>{}; }); } }; |