aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2025-03-12 13:36:52 +0100
committerChristian Kandeler <[email protected]>2025-03-12 13:53:53 +0000
commit381f72ab16760757ce164420fd272ccec9ce916d (patch)
tree5d05766d8da14e67f426da3818f9aab058b91b80
parent767055def52da17d2ac565d106de041a04654e26 (diff)
ProjectExplorer: Make build system name available in Project
There is a one-to-one correspondence between the types of Project and BuildSystem, so we shouldn't need access to a BuildSystem object to get at the build system name. Change-Id: Ic09c58e42e609d5db8cbf9f85bbe87d1ec3221c2 Reviewed-by: hjk <[email protected]>
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp3
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildsystem.h1
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp2
-rw-r--r--src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp3
-rw-r--r--src/plugins/cppeditor/modelmanagertesthelper.cpp6
-rw-r--r--src/plugins/cppeditor/projectinfo_test.cpp3
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp3
-rw-r--r--src/plugins/mesonprojectmanager/mesonbuildsystem.h1
-rw-r--r--src/plugins/mesonprojectmanager/mesonproject.cpp2
-rw-r--r--src/plugins/nim/project/nimbleproject.cpp2
-rw-r--r--src/plugins/nim/project/nimbleproject.h2
-rw-r--r--src/plugins/nim/project/nimproject.cpp4
-rw-r--r--src/plugins/projectexplorer/buildsystem.cpp5
-rw-r--r--src/plugins/projectexplorer/buildsystem.h2
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp2
-rw-r--r--src/plugins/projectexplorer/project.cpp15
-rw-r--r--src/plugins/projectexplorer/project.h5
-rw-r--r--src/plugins/projectexplorer/userfileaccessor.cpp3
-rw-r--r--src/plugins/projectexplorer/workspaceproject.cpp4
-rw-r--r--src/plugins/python/pythonbuildsystem.h1
-rw-r--r--src/plugins/python/pythonproject.cpp2
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp2
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.h1
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.cpp2
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.h1
-rw-r--r--src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.h2
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp2
27 files changed, 38 insertions, 43 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
index 07c7025acdc..e77b172a983 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
@@ -41,7 +41,6 @@ public:
private:
void triggerParsing() final;
- QString name() const final { return QLatin1String("autotools"); }
/**
* Is invoked when the makefile parsing by m_makefileParserThread has
@@ -262,7 +261,7 @@ public:
setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
setDisplayName(projectDirectory().fileName());
setHasMakeInstallEquivalent(true);
- setBuildSystemCreator<AutotoolsBuildSystem>();
+ setBuildSystemCreator<AutotoolsBuildSystem>("autotools");
}
};
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h
index b420b8de7cf..727ac43c01f 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h
@@ -67,7 +67,6 @@ public:
void buildNamedTarget(const QString &target) final;
Utils::FilePaths filesGeneratedFrom(const Utils::FilePath &sourceFile) const final;
- QString name() const final { return QLatin1String("cmake"); }
// Actions:
void runCMake();
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index 5f9b2d4a08e..6a7fa4ed114 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -55,7 +55,7 @@ CMakeProject::CMakeProject(const FilePath &fileName)
setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
setDisplayName(projectDirectory().fileName());
setCanBuildProducts();
- setBuildSystemCreator<CMakeBuildSystem>();
+ setBuildSystemCreator<CMakeBuildSystem>("cmake");
// This only influences whether 'Install into temporary host directory'
// will show up by default enabled in some remote deploy configurations.
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
index c700ad7a5a6..49caf5f42e3 100644
--- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
+++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
@@ -311,7 +311,6 @@ public:
~CompilationDatabaseBuildSystem();
void triggerParsing() final;
- QString name() const final { return QLatin1String("compilationdb"); }
void reparseProject();
void updateDeploymentData();
@@ -419,7 +418,7 @@ CompilationDatabaseProject::CompilationDatabaseProject(const FilePath &projectFi
setId(Constants::COMPILATIONDATABASEPROJECT_ID);
setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
setDisplayName(projectDirectory().fileName());
- setBuildSystemCreator<CompilationDatabaseBuildSystem>();
+ setBuildSystemCreator<CompilationDatabaseBuildSystem>("compilationdb");
setExtraProjectFiles(
{projectFile.stringAppended(Constants::COMPILATIONDATABASEPROJECT_FILES_SUFFIX)});
}
diff --git a/src/plugins/cppeditor/modelmanagertesthelper.cpp b/src/plugins/cppeditor/modelmanagertesthelper.cpp
index 337781fa080..56f4866f82d 100644
--- a/src/plugins/cppeditor/modelmanagertesthelper.cpp
+++ b/src/plugins/cppeditor/modelmanagertesthelper.cpp
@@ -19,12 +19,6 @@ using namespace Utils;
namespace CppEditor::Tests {
-class TestBuildSystem : public ProjectExplorer::BuildSystem
-{
- QString name() const override { return "ModelManagerTest"; }
- void triggerParsing() override {}
-};
-
TestProject::TestProject(const QString &name, QObject *parent, const FilePath &filePath) :
ProjectExplorer::Project("x-binary/foo", filePath),
m_name(name)
diff --git a/src/plugins/cppeditor/projectinfo_test.cpp b/src/plugins/cppeditor/projectinfo_test.cpp
index a495659263d..342d8fad96d 100644
--- a/src/plugins/cppeditor/projectinfo_test.cpp
+++ b/src/plugins/cppeditor/projectinfo_test.cpp
@@ -26,7 +26,6 @@ class TestBuildSystem : public BuildSystem
public:
using BuildSystem::BuildSystem;
private:
- QString name() const override { return "ProjectPartTest"; }
void triggerParsing() override {}
};
class TestProject : public Project
@@ -34,7 +33,7 @@ class TestProject : public Project
public:
TestProject(const Utils::FilePath &projectFilePath) : Project({}, projectFilePath)
{
- setBuildSystemCreator<TestBuildSystem>();
+ setBuildSystemCreator<TestBuildSystem>("ProjectPartTest");
}
};
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index c5f91b764d6..4ae495a58fc 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -91,7 +91,6 @@ public:
const Utils::FilePairs &filesToRename,
Utils::FilePaths *notRenamed) final;
bool addFiles(Node *, const FilePaths &filePaths, FilePaths *) final;
- QString name() const final { return QLatin1String("generic"); }
FilePath filesFilePath() const { return ::FilePath::fromString(m_filesFileName); }
@@ -210,7 +209,7 @@ public:
setId(Constants::GENERICPROJECT_ID);
setProjectLanguages(Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
setDisplayName(filePath.completeBaseName());
- setBuildSystemCreator<GenericBuildSystem>();
+ setBuildSystemCreator<GenericBuildSystem>("generic");
}
void editFilesTriggered();
diff --git a/src/plugins/mesonprojectmanager/mesonbuildsystem.h b/src/plugins/mesonprojectmanager/mesonbuildsystem.h
index eb7bc0e33e7..4f749b491a3 100644
--- a/src/plugins/mesonprojectmanager/mesonbuildsystem.h
+++ b/src/plugins/mesonprojectmanager/mesonbuildsystem.h
@@ -24,7 +24,6 @@ public:
~MesonBuildSystem() final;
void triggerParsing() final;
- QString name() const final { return QLatin1String("meson"); }
inline const BuildOptionsList &buildOptions() const { return m_parser.buildOptions(); }
inline const TargetsList &targets() const { return m_parser.targets(); }
diff --git a/src/plugins/mesonprojectmanager/mesonproject.cpp b/src/plugins/mesonprojectmanager/mesonproject.cpp
index 4fe4690d629..66533c096d3 100644
--- a/src/plugins/mesonprojectmanager/mesonproject.cpp
+++ b/src/plugins/mesonprojectmanager/mesonproject.cpp
@@ -31,7 +31,7 @@ public:
setDisplayName(projectDirectory().fileName());
setCanBuildProducts();
setHasMakeInstallEquivalent(true);
- setBuildSystemCreator<MesonBuildSystem>();
+ setBuildSystemCreator<MesonBuildSystem>("meson");
}
ProjectImporter *projectImporter() const final
diff --git a/src/plugins/nim/project/nimbleproject.cpp b/src/plugins/nim/project/nimbleproject.cpp
index 6cb71bc9ec3..3407d4a15e9 100644
--- a/src/plugins/nim/project/nimbleproject.cpp
+++ b/src/plugins/nim/project/nimbleproject.cpp
@@ -342,7 +342,7 @@ NimbleProject::NimbleProject(const FilePath &fileName)
setDisplayName(fileName.completeBaseName());
// ensure debugging is enabled (Nim plugin translates nim code to C code)
setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
- setBuildSystemCreator<NimbleBuildSystem>();
+ setBuildSystemCreator<NimbleBuildSystem>("nimble");
}
void NimbleProject::toMap(Store &map) const
diff --git a/src/plugins/nim/project/nimbleproject.h b/src/plugins/nim/project/nimbleproject.h
index 4a61306235c..b6be3f2efbd 100644
--- a/src/plugins/nim/project/nimbleproject.h
+++ b/src/plugins/nim/project/nimbleproject.h
@@ -51,7 +51,7 @@ private:
ProjectExplorer::Node *,
const Utils::FilePairs &filesToRename,
Utils::FilePaths *notRenamed) override;
- QString name() const final { return QLatin1String("mimble"); }
+
void triggerParsing() final;
std::vector<NimbleTask> m_tasks;
diff --git a/src/plugins/nim/project/nimproject.cpp b/src/plugins/nim/project/nimproject.cpp
index 0659d5faf28..54fc7ace2d7 100644
--- a/src/plugins/nim/project/nimproject.cpp
+++ b/src/plugins/nim/project/nimproject.cpp
@@ -159,8 +159,6 @@ public:
Node *,
const Utils::FilePairs &filesToRename,
Utils::FilePaths *notRenamed) final;
- QString name() const final { return QLatin1String("nim"); }
-
void triggerParsing() final;
protected:
@@ -354,7 +352,7 @@ NimProject::NimProject(const FilePath &filePath) : Project(Constants::C_NIM_MIME
setDisplayName(filePath.completeBaseName());
// ensure debugging is enabled (Nim plugin translates nim code to C code)
setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
- setBuildSystemCreator<NimBuildSystem>();
+ setBuildSystemCreator<NimBuildSystem>("nim");
}
void NimProject::toMap(Store &map) const
diff --git a/src/plugins/projectexplorer/buildsystem.cpp b/src/plugins/projectexplorer/buildsystem.cpp
index 016f291cc90..8a4002f8e77 100644
--- a/src/plugins/projectexplorer/buildsystem.cpp
+++ b/src/plugins/projectexplorer/buildsystem.cpp
@@ -67,6 +67,11 @@ BuildSystem::~BuildSystem()
delete d;
}
+QString BuildSystem::name() const
+{
+ return project()->buildSystemName();
+}
+
Project *BuildSystem::project() const
{
return d->m_buildConfiguration->project();
diff --git a/src/plugins/projectexplorer/buildsystem.h b/src/plugins/projectexplorer/buildsystem.h
index e6be18273aa..bb1850f29fe 100644
--- a/src/plugins/projectexplorer/buildsystem.h
+++ b/src/plugins/projectexplorer/buildsystem.h
@@ -43,6 +43,7 @@ public:
explicit BuildSystem(BuildConfiguration *bc);
~BuildSystem() override;
+ QString name() const;
Project *project() const;
Target *target() const;
Kit *kit() const;
@@ -78,7 +79,6 @@ public:
virtual bool addDependencies(Node *context, const QStringList &dependencies);
virtual bool supportsAction(Node *context, ProjectAction action, const Node *node) const;
virtual void buildNamedTarget(const QString &target) { Q_UNUSED(target) }
- virtual QString name() const = 0;
// Owned by the build system. Use only in main thread. Can go away at any time.
ExtraCompiler *extraCompilerForSource(const Utils::FilePath &source) const;
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp
index fdd5b405276..5ccef8782aa 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp
@@ -168,7 +168,7 @@ void JsonProjectPage::initUiForSubProject()
info.projectId = proj->id();
info.projectDirectory = proj->rootProjectDirectory();
info.display = rootNode->displayName() + " - " + proj->projectFilePath().toUserOutput();
- info.buildSystem = (bs ? bs->name() : "");
+ info.buildSystem = proj->buildSystemName();
if (contextNode && contextNode->getProject() == proj)
index = counter;
projectInfos.append(info);
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index e88ed8a345e..f8f2811aca6 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -188,6 +188,7 @@ public:
QHash<Id, QPair<QString, std::function<void()>>> m_generators;
std::function<Tasks(const Kit *)> m_issuesGenerator;
+ QString m_buildSystemName;
QString m_displayName;
MacroExpander m_macroExpander;
@@ -225,6 +226,11 @@ Project::~Project()
delete d;
}
+QString Project::buildSystemName() const
+{
+ return d->m_buildSystemName;
+}
+
QString Project::displayName() const
{
return d->m_displayName;
@@ -1013,6 +1019,11 @@ void Project::setSupportsBuilding(bool value)
d->m_supportsBuilding = value;
}
+void Project::setBuildSystemName(const QString &name)
+{
+ d->m_buildSystemName = name;
+}
+
Task Project::createTask(Task::TaskType type, const QString &description)
{
return Task(type, description, FilePath(), -1, Id());
@@ -1378,9 +1389,7 @@ class TestBuildSystem final : public BuildSystem
{
public:
using BuildSystem::BuildSystem;
-
void triggerParsing() final {}
- QString name() const final { return QLatin1String("test"); }
};
class TestBuildConfigurationFactory : public BuildConfigurationFactory
@@ -1406,7 +1415,7 @@ public:
{
setId(TEST_PROJECT_ID);
setDisplayName(TEST_PROJECT_DISPLAYNAME);
- setBuildSystemCreator<TestBuildSystem>();
+ setBuildSystemCreator<TestBuildSystem>("test");
target = addTargetForKit(&testKit);
}
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 46f6b4c1732..3f917155763 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -61,6 +61,7 @@ public:
Project(const QString &mimeType, const Utils::FilePath &fileName);
~Project() override;
+ QString buildSystemName() const;
QString displayName() const;
Utils::Id id() const;
@@ -244,11 +245,13 @@ protected:
void setSupportsBuilding(bool value);
template <typename BuildSystemImpl>
- void setBuildSystemCreator() {
+ void setBuildSystemCreator(const QString &name) {
+ setBuildSystemName(name);
setBuildSystemCreator([](BuildConfiguration *bc) { return new BuildSystemImpl(bc); });
}
private:
+ void setBuildSystemName(const QString &name);
void setBuildSystemCreator(const std::function<BuildSystem *(BuildConfiguration *)> &creator);
void addTarget(std::unique_ptr<Target> &&target);
diff --git a/src/plugins/projectexplorer/userfileaccessor.cpp b/src/plugins/projectexplorer/userfileaccessor.cpp
index c0001352bdd..424e8dc52c9 100644
--- a/src/plugins/projectexplorer/userfileaccessor.cpp
+++ b/src/plugins/projectexplorer/userfileaccessor.cpp
@@ -917,7 +917,6 @@ class TestBuildSystem : public BuildSystem
public:
using BuildSystem::BuildSystem;
private:
- QString name() const override { return "UserFileAccessorTest"; }
void triggerParsing() override {}
};
@@ -927,7 +926,7 @@ public:
TestProject() : Project("x-test/testproject", "/test/project")
{
setDisplayName("Test Project");
- setBuildSystemCreator<TestBuildSystem>();
+ setBuildSystemCreator<TestBuildSystem>("UserFileAccessorTest");
}
bool needsConfiguration() const final { return false; }
diff --git a/src/plugins/projectexplorer/workspaceproject.cpp b/src/plugins/projectexplorer/workspaceproject.cpp
index b961985defb..d82f55d2bf9 100644
--- a/src/plugins/projectexplorer/workspaceproject.cpp
+++ b/src/plugins/projectexplorer/workspaceproject.cpp
@@ -78,8 +78,6 @@ public:
void scan(const FilePath &path);
void scanNext();
- QString name() const final { return QLatin1String("Workspace"); }
-
private:
bool isFiltered(const FilePath &path, QList<IVersionControl *> versionControls) const;
@@ -601,7 +599,7 @@ public:
setId(WORKSPACE_PROJECT_ID);
setDisplayName(projectDirectory().fileName());
- setBuildSystemCreator<WorkspaceBuildSystem>();
+ setBuildSystemCreator<WorkspaceBuildSystem>("Workspace");
connect(this, &Project::projectFileIsDirty, this, &WorkspaceProject::updateBuildConfigurations);
}
diff --git a/src/plugins/python/pythonbuildsystem.h b/src/plugins/python/pythonbuildsystem.h
index 96bd13674bd..76874b91171 100644
--- a/src/plugins/python/pythonbuildsystem.h
+++ b/src/plugins/python/pythonbuildsystem.h
@@ -26,7 +26,6 @@ public:
ProjectExplorer::Node *,
const Utils::FilePairs &filesToRename,
Utils::FilePaths *notRenamed) override;
- QString name() const override { return QLatin1String("python"); }
void parse();
bool save();
diff --git a/src/plugins/python/pythonproject.cpp b/src/plugins/python/pythonproject.cpp
index 481033dcbf3..8c6b8b1d1ca 100644
--- a/src/plugins/python/pythonproject.cpp
+++ b/src/plugins/python/pythonproject.cpp
@@ -23,7 +23,7 @@ PythonProject::PythonProject(const FilePath &fileName)
setId(PythonProjectId);
setProjectLanguages(Context(ProjectExplorer::Constants::PYTHON_LANGUAGE_ID));
setDisplayName(fileName.completeBaseName());
- setBuildSystemCreator<PythonBuildSystem>();
+ setBuildSystemCreator<PythonBuildSystem>("python");
}
PythonProjectNode::PythonProjectNode(const FilePath &path)
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index aaa124263d5..33522662d7a 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -107,7 +107,7 @@ QbsProject::QbsProject(const FilePath &fileName)
setProjectLanguages(Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
setCanBuildProducts();
setDisplayName(fileName.completeBaseName());
- setBuildSystemCreator<QbsBuildSystem>();
+ setBuildSystemCreator<QbsBuildSystem>("qbs");
}
QbsProject::~QbsProject()
diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h
index f66ac9ad1c4..30255133723 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.h
+++ b/src/plugins/qbsprojectmanager/qbsproject.h
@@ -73,7 +73,6 @@ public:
Utils::FilePaths *notRenamed) final;
Utils::FilePaths filesGeneratedFrom(const Utils::FilePath &sourceFile) const final;
QVariant additionalData(Utils::Id id) const final;
- QString name() const final { return QLatin1String("qbs"); }
bool isProjectEditable() const;
bool addFilesToProduct(const Utils::FilePaths &filePaths,
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index 20a22e5db02..0daf0f2afac 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -162,7 +162,7 @@ QmakeProject::QmakeProject(const FilePath &fileName) :
setDisplayName(fileName.completeBaseName());
setCanBuildProducts();
setHasMakeInstallEquivalent(true);
- setBuildSystemCreator<QmakeBuildSystem>();
+ setBuildSystemCreator<QmakeBuildSystem>("qmake");
}
QmakeProject::~QmakeProject()
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h
index 608f69e03a2..1f1b08fba02 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.h
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.h
@@ -84,7 +84,6 @@ public:
Utils::FilePaths *notRenamed) override;
bool addDependencies(ProjectExplorer::Node *context,
const QStringList &dependencies) override;
- QString name() const final { return QLatin1String("qmake"); }
void triggerParsing() final;
Utils::FilePaths filesGeneratedFrom(const Utils::FilePath &file) const final;
diff --git a/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.h b/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.h
index f53d68e36fc..4d5f373dcfd 100644
--- a/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.h
+++ b/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.h
@@ -41,8 +41,6 @@ public:
bool updateProjectFile();
- QString name() const override { return QLatin1String("qml"); }
-
QmlProject *qmlProject() const;
QVariant additionalData(Utils::Id id) const override;
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 50dfd6fafae..609fc5261a4 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -46,7 +46,7 @@ QmlProject::QmlProject(const Utils::FilePath &fileName)
setSupportsBuilding(false);
setIsEditModePreferred(!Core::ICore::isQtDesignStudio());
- setBuildSystemCreator<QmlBuildSystem>();
+ setBuildSystemCreator<QmlBuildSystem>("qml");
if (Core::ICore::isQtDesignStudio()) {
if (allowOnlySingleProject() && !fileName.endsWith(Constants::fakeProjectName)) {