diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2021-09-09 11:28:28 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2021-09-09 14:41:56 +0000 |
commit | 939cc5af218b041daa1519f26b6ada18572a7cf5 (patch) | |
tree | 73ff13958cc1c4e446201ac37f6886dc308278b9 /src/plugins | |
parent | ecfe6b7fc1f92eb0e076406fb766fde8c8ec29b0 (diff) | |
download | qt-creator-939cc5af218b041daa1519f26b6ada18572a7cf5.tar.gz |
ProjectExplorer: Give build systems a name
... and make it accessible through a variable.
Fixes: QTCREATORBUG-26147
Change-Id: I0601c09a74360b91fe8421876207a8f4ae9d75b6
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h | 1 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakebuildsystem.h | 1 | ||||
-rw-r--r-- | src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h | 1 | ||||
-rw-r--r-- | src/plugins/genericprojectmanager/genericproject.cpp | 1 | ||||
-rw-r--r-- | src/plugins/mesonprojectmanager/project/mesonbuildsystem.h | 1 | ||||
-rw-r--r-- | src/plugins/nim/project/nimblebuildsystem.h | 2 | ||||
-rw-r--r-- | src/plugins/nim/project/nimbuildsystem.h | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/buildsystem.h | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/project.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/target.cpp | 5 | ||||
-rw-r--r-- | src/plugins/python/pythonproject.cpp | 1 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsproject.h | 2 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakeproject.h | 1 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.h | 1 |
14 files changed, 18 insertions, 2 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h index 846f545655..09cd656b77 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h @@ -44,6 +44,7 @@ public: private: void triggerParsing() final; + QString name() const final { return QLatin1String("autotools"); } /** * Is invoked when the makefile parsing by m_makefileParserThread has diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h index 038a6c4e61..f004e9e6b4 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h @@ -67,6 +67,7 @@ public: const Utils::FilePaths &filePaths, Utils::FilePaths *) 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/compilationdatabaseprojectmanager/compilationdatabaseproject.h b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h index 354abd1450..214a385026 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h @@ -64,6 +64,7 @@ public: ~CompilationDatabaseBuildSystem(); void triggerParsing() final; + QString name() const final { return QLatin1String("compilationdb"); } void reparseProject(); void updateDeploymentData(); diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index e9c72c68fb..5f8fa5d555 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -138,6 +138,7 @@ public: RemovedFilesFromProject removeFiles(Node *, const FilePaths &filePaths, FilePaths *) final; bool renameFile(Node *, const FilePath &oldFilePath, const FilePath &newFilePath) final; bool addFiles(Node *, const FilePaths &filePaths, FilePaths *) final; + QString name() const final { return QLatin1String("generic"); } FilePath filesFilePath() const { return ::FilePath::fromString(m_filesFileName); } diff --git a/src/plugins/mesonprojectmanager/project/mesonbuildsystem.h b/src/plugins/mesonprojectmanager/project/mesonbuildsystem.h index e7be80cf80..6eb4552383 100644 --- a/src/plugins/mesonprojectmanager/project/mesonbuildsystem.h +++ b/src/plugins/mesonprojectmanager/project/mesonbuildsystem.h @@ -48,6 +48,7 @@ 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/nim/project/nimblebuildsystem.h b/src/plugins/nim/project/nimblebuildsystem.h index 12032a98b9..cfd9972a53 100644 --- a/src/plugins/nim/project/nimblebuildsystem.h +++ b/src/plugins/nim/project/nimblebuildsystem.h @@ -82,7 +82,7 @@ private: bool deleteFiles(ProjectExplorer::Node *, const Utils::FilePaths &) override; bool renameFile(ProjectExplorer::Node *, const Utils::FilePath &oldFilePath, const Utils::FilePath &newFilePath) override; - + QString name() const final { return QLatin1String("mimble"); } void triggerParsing() final; std::vector<NimbleTask> m_tasks; diff --git a/src/plugins/nim/project/nimbuildsystem.h b/src/plugins/nim/project/nimbuildsystem.h index bc9e1e1a86..ed890c3e49 100644 --- a/src/plugins/nim/project/nimbuildsystem.h +++ b/src/plugins/nim/project/nimbuildsystem.h @@ -87,6 +87,7 @@ public: bool deleteFiles(ProjectExplorer::Node *, const Utils::FilePaths &) final; bool renameFile(ProjectExplorer::Node *, const Utils::FilePath &oldFilePath, const Utils::FilePath &newFilePath) final; + QString name() const final { return QLatin1String("nim"); } void triggerParsing() override; diff --git a/src/plugins/projectexplorer/buildsystem.h b/src/plugins/projectexplorer/buildsystem.h index f6fe4c1663..263738d8e4 100644 --- a/src/plugins/projectexplorer/buildsystem.h +++ b/src/plugins/projectexplorer/buildsystem.h @@ -101,6 +101,7 @@ public: const Utils::FilePath &newFilePath); virtual bool addDependencies(Node *context, const QStringList &dependencies); virtual bool supportsAction(Node *context, ProjectAction action, const Node *node) const; + virtual QString name() const = 0; virtual Utils::FilePaths filesGeneratedFrom(const Utils::FilePath &sourceFile) const; virtual QVariant additionalData(Utils::Id id) const; diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index 08e46dc11a..a49011bc41 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -1100,6 +1100,7 @@ public: using BuildSystem::BuildSystem; void triggerParsing() final {} + QString name() const final { return QLatin1String("test"); } }; class TestProject : public Project diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 51bc014975..bebcc279db 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -161,6 +161,11 @@ Target::Target(Project *project, Kit *k, _constructor_tag) : d->m_macroExpander.registerVariable("sourceDir", tr("Source directory"), [project] { return project->projectDirectory().toUserOutput(); }); + d->m_macroExpander.registerVariable("BuildSystem:Name", tr("Build system"), [this] { + if (const BuildSystem * const bs = buildSystem()) + return bs->name(); + return QString(); + }); // TODO: Remove in ~4.16. d->m_macroExpander.registerVariable(Constants::VAR_CURRENTPROJECT_NAME, diff --git a/src/plugins/python/pythonproject.cpp b/src/plugins/python/pythonproject.cpp index 890bcd10fb..c373b08ac1 100644 --- a/src/plugins/python/pythonproject.cpp +++ b/src/plugins/python/pythonproject.cpp @@ -69,6 +69,7 @@ public: bool renameFile(Node *, const Utils::FilePath &oldFilePath, const Utils::FilePath &newFilePath) override; + QString name() const override { return QLatin1String("python"); } bool saveRawFileList(const QStringList &rawFileList); bool saveRawList(const QStringList &rawList, const QString &fileName); diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h index 5600d6ebc3..7c6db3949d 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.h +++ b/src/plugins/qbsprojectmanager/qbsproject.h @@ -91,9 +91,9 @@ public: Utils::FilePaths *notRemoved = nullptr) final; bool renameFile(ProjectExplorer::Node *context, const Utils::FilePath &oldFilePath, const Utils::FilePath &newFilePath) 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.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index d5e379812f..cf7f102c3f 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -105,6 +105,7 @@ public: const Utils::FilePath &newFilePath) 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/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index cbdb7aaa34..c28f9249f1 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -59,6 +59,7 @@ public: const Utils::FilePaths &filePaths) override; bool renameFile(ProjectExplorer::Node *context, const Utils::FilePath &oldFilePath, const Utils::FilePath &newFilePath) override; + QString name() const override { return QLatin1String("qml"); } QmlProject *qmlProject() const; |