aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-09 15:06:30 +0100
committerhjk <hjk@qt.io>2020-01-09 15:42:21 +0000
commita971da3bfecb7624b23f09f4c31cfb79ff8b50f8 (patch)
tree3bbf5787201300c000f7cf1d8db15343846643db /src/plugins/qmakeprojectmanager
parentce69a9af83f4fb9e3074175f382c3b1da382d67f (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/qmakeprojectmanager')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp51
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h3
2 files changed, 25 insertions, 29 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index 286a6c2d5f1..fdf0baf2aaf 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 e003d86f7e0..28cabf16933 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;