summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2021-09-09 11:28:28 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2021-09-09 14:41:56 +0000
commit939cc5af218b041daa1519f26b6ada18572a7cf5 (patch)
tree73ff13958cc1c4e446201ac37f6886dc308278b9 /src/plugins
parentecfe6b7fc1f92eb0e076406fb766fde8c8ec29b0 (diff)
downloadqt-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.h1
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildsystem.h1
-rw-r--r--src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.h1
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp1
-rw-r--r--src/plugins/mesonprojectmanager/project/mesonbuildsystem.h1
-rw-r--r--src/plugins/nim/project/nimblebuildsystem.h2
-rw-r--r--src/plugins/nim/project/nimbuildsystem.h1
-rw-r--r--src/plugins/projectexplorer/buildsystem.h1
-rw-r--r--src/plugins/projectexplorer/project.cpp1
-rw-r--r--src/plugins/projectexplorer/target.cpp5
-rw-r--r--src/plugins/python/pythonproject.cpp1
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.h2
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.h1
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.h1
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;