summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2022-06-03 13:32:49 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2022-06-03 13:20:08 +0000
commit21c215f83ced4c20a22b19d67cbd64155ada0004 (patch)
tree864add73526e7b00bf4f2d6790032fa3bf63dc4b
parent8d659cb7dbdf2defca078cc1d892cc2c6f50595c (diff)
downloadqt-creator-21c215f83ced4c20a22b19d67cbd64155ada0004.tar.gz
ProjectExplorer: Make BuildSystem:Name variable available
... for use in the default build dir template. Task-number: QTCREATORBUG-26147 Change-Id: I1a32d60e0d5e2db514ac315c48c615c55ccda51f Reviewed-by: hjk <hjk@qt.io>
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp4
-rw-r--r--src/plugins/mesonprojectmanager/project/mesonbuildconfiguration.cpp5
-rw-r--r--src/plugins/nim/project/nimbuildconfiguration.cpp2
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.cpp7
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.h3
-rw-r--r--src/plugins/projectexplorer/project.cpp3
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp2
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectimporter.cpp2
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp4
9 files changed, 19 insertions, 13 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index a6d2b20140..e8ebeda2f6 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -1369,8 +1369,8 @@ FilePath CMakeBuildConfiguration::shadowBuildDirectory(const FilePath &projectFi
const QString projectName = projectFilePath.parentDir().fileName();
const FilePath projectDir = Project::projectDirectory(projectFilePath);
- FilePath buildPath = BuildConfiguration::buildDirectoryFromTemplate(projectDir,
- projectFilePath, projectName, k, bcName, buildType);
+ FilePath buildPath = buildDirectoryFromTemplate(projectDir, projectFilePath, projectName, k,
+ bcName, buildType, "cmake");
if (CMakeGeneratorKitAspect::isMultiConfigGenerator(k)) {
QString path = buildPath.path();
diff --git a/src/plugins/mesonprojectmanager/project/mesonbuildconfiguration.cpp b/src/plugins/mesonprojectmanager/project/mesonbuildconfiguration.cpp
index 4e10f6ce19..291d5f05dc 100644
--- a/src/plugins/mesonprojectmanager/project/mesonbuildconfiguration.cpp
+++ b/src/plugins/mesonprojectmanager/project/mesonbuildconfiguration.cpp
@@ -83,9 +83,8 @@ FilePath MesonBuildConfiguration::shadowBuildDirectory(const FilePath &projectFi
return {};
const QString projectName = projectFilePath.parentDir().fileName();
- return BuildConfiguration::buildDirectoryFromTemplate(
- Project::projectDirectory(projectFilePath),
- projectFilePath, projectName, k, bcName, buildType);
+ return buildDirectoryFromTemplate(Project::projectDirectory(projectFilePath), projectFilePath,
+ projectName, k, bcName, buildType, "meson");
}
ProjectExplorer::BuildSystem *MesonBuildConfiguration::buildSystem() const
diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp
index 48d91b40a4..37b2e0d9ef 100644
--- a/src/plugins/nim/project/nimbuildconfiguration.cpp
+++ b/src/plugins/nim/project/nimbuildconfiguration.cpp
@@ -53,7 +53,7 @@ static FilePath defaultBuildDirectory(const Kit *k,
{
return BuildConfiguration::buildDirectoryFromTemplate(
projectFilePath.parentDir(), projectFilePath, projectFilePath.baseName(),
- k, bc, buildType);
+ k, bc, buildType, "nim");
}
NimBuildConfiguration::NimBuildConfiguration(Target *target, Utils::Id id)
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp
index 749874adf4..10758d451e 100644
--- a/src/plugins/projectexplorer/buildconfiguration.cpp
+++ b/src/plugins/projectexplorer/buildconfiguration.cpp
@@ -604,7 +604,8 @@ FilePath BuildConfiguration::buildDirectoryFromTemplate(const FilePath &projectD
const QString &projectName,
const Kit *kit,
const QString &bcName,
- BuildType buildType)
+ BuildType buildType,
+ const QString &buildSystem)
{
MacroExpander exp;
@@ -630,6 +631,10 @@ FilePath BuildConfiguration::buildDirectoryFromTemplate(const FilePath &projectD
QCoreApplication::translate(
"ProjectExplorer", "Name of the project's active build configuration"),
[bcName] { return bcName; });
+ exp.registerVariable("BuildSystem:Name",
+ QCoreApplication::translate(
+ "ProjectExplorer", "Name of the project's active build system"),
+ [buildSystem] { return buildSystem; });
exp.registerVariable("CurrentBuild:Type",
QCoreApplication::translate("ProjectExplorer", "Type of current build"),
[buildType] { return buildTypeName(buildType); }, false);
diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h
index 89747e0542..32b505f3ba 100644
--- a/src/plugins/projectexplorer/buildconfiguration.h
+++ b/src/plugins/projectexplorer/buildconfiguration.h
@@ -115,7 +115,8 @@ public:
const QString &projectName,
const Kit *kit,
const QString &bcName,
- BuildType buildType);
+ BuildType buildType,
+ const QString &buildSystem);
bool isActive() const;
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index 9ffd402d3e..020f04508e 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -454,7 +454,8 @@ bool Project::copySteps(Target *sourceTarget, Target *newTarget)
newBc->setBuildDirectory(BuildConfiguration::buildDirectoryFromTemplate(
project->projectDirectory(), project->projectFilePath(),
project->displayName(), newTarget->kit(),
- sourceBc->displayName(), sourceBc->buildType()));
+ sourceBc->displayName(), sourceBc->buildType(),
+ sourceBc->buildSystem()->name()));
newTarget->addBuildConfiguration(newBc);
if (sourceTarget->activeBuildConfiguration() == sourceBc)
SessionManager::setActiveBuildConfiguration(newTarget, newBc, SetActive::NoCascade);
diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
index 2ddd805ab7..22403395dd 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
@@ -65,7 +65,7 @@ static FilePath defaultBuildDirectory(const FilePath &projectFilePath, const Kit
const QString projectName = projectFilePath.completeBaseName();
return BuildConfiguration::buildDirectoryFromTemplate(
Project::projectDirectory(projectFilePath),
- projectFilePath, projectName, k, bcName, buildType);
+ projectFilePath, projectName, k, bcName, buildType, "qbs");
}
// ---------------------------------------------------------------------------
diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
index 24ffe06447..ee7fb37ed1 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
@@ -89,7 +89,7 @@ static FilePath buildDir(const FilePath &projectFilePath, const Kit *k)
const QString projectName = projectFilePath.completeBaseName();
return BuildConfiguration::buildDirectoryFromTemplate(
Project::projectDirectory(projectFilePath),
- projectFilePath, projectName, k, QString(), BuildConfiguration::Unknown);
+ projectFilePath, projectName, k, QString(), BuildConfiguration::Unknown, "qbs");
}
static bool hasBuildGraph(const QString &dir)
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index bcce50dbd8..675b272085 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -103,8 +103,8 @@ FilePath QmakeBuildConfiguration::shadowBuildDirectory(const FilePath &proFilePa
return {};
const QString projectName = proFilePath.completeBaseName();
- return BuildConfiguration::buildDirectoryFromTemplate(
- Project::projectDirectory(proFilePath), proFilePath, projectName, k, suffix, buildType);
+ return buildDirectoryFromTemplate(Project::projectDirectory(proFilePath), proFilePath,
+ projectName, k, suffix, buildType, "qmake");
}
const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration";