aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-09 18:42:28 +0100
committerhjk <hjk@qt.io>2020-01-14 13:56:10 +0000
commitb4ee6eb3c049167cf000298b819e18ebd99d34d7 (patch)
treef7e50fff823ce8da72b690f2b6242efc89158af0 /src/plugins/qbsprojectmanager
parent27bbe6462b0ec5e18b567b36afb6529cf0d6a036 (diff)
ProjectExplorer: Move some of the BuildInfo setup code to central places
Change-Id: I8893366acb187ea1a94a8ca272ded2c46cb521d1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/qbsprojectmanager')
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp12
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.h3
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectimporter.cpp13
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectimporter.h3
4 files changed, 10 insertions, 21 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
index 02c306c15e4..9e297c470d5 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
@@ -428,7 +428,7 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory()
if (forSetup) {
- BuildInfo info = createBuildInfo(k, BuildConfiguration::Debug);
+ BuildInfo info = createBuildInfo(BuildConfiguration::Debug);
//: The name of the debug build configuration created by default for a qbs project.
info.displayName = BuildConfiguration::tr("Debug");
//: Non-ASCII characters in directory suffix may cause build issues.
@@ -436,7 +436,7 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory()
info.buildDirectory = defaultBuildDirectory(projectPath, k, dbg, info.buildType);
result << info;
- info = createBuildInfo(k, BuildConfiguration::Release);
+ info = createBuildInfo(BuildConfiguration::Release);
//: The name of the release build configuration created by default for a qbs project.
info.displayName = BuildConfiguration::tr("Release");
//: Non-ASCII characters in directory suffix may cause build issues.
@@ -446,7 +446,7 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory()
} else {
- result << createBuildInfo(k, BuildConfiguration::Debug);
+ result << createBuildInfo(BuildConfiguration::Debug);
}
@@ -454,11 +454,9 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory()
});
}
-BuildInfo QbsBuildConfigurationFactory::createBuildInfo(const Kit *k,
- BuildConfiguration::BuildType type) const
+BuildInfo QbsBuildConfigurationFactory::createBuildInfo(BuildConfiguration::BuildType type) const
{
- BuildInfo info(this);
- info.kitId = k->id();
+ BuildInfo info;
info.buildType = type;
info.typeName = BuildConfiguration::tr("Build");
QVariantMap config;
diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h
index c540acff73f..c6217835c03 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h
+++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h
@@ -101,8 +101,7 @@ public:
QbsBuildConfigurationFactory();
private:
- ProjectExplorer::BuildInfo createBuildInfo(const ProjectExplorer::Kit *k,
- ProjectExplorer::BuildConfiguration::BuildType type) const;
+ ProjectExplorer::BuildInfo createBuildInfo(ProjectExplorer::BuildConfiguration::BuildType type) const;
};
} // namespace Internal
diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
index 01acfec13ee..8ff3371eef3 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
@@ -218,25 +218,18 @@ Kit *QbsProjectImporter::createKit(void *directoryData) const
});
}
-const QList<BuildInfo> QbsProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const
+const QList<BuildInfo> QbsProjectImporter::buildInfoList(void *directoryData) const
{
- qCDebug(qbsPmLog) << "creating build info for kit" << k->displayName();
- const auto factory = dynamic_cast<QbsBuildConfigurationFactory *>(
- BuildConfigurationFactory::find(k, projectFilePath()));
- if (!factory) {
- qCDebug(qbsPmLog) << "no build config factory found";
- return {};
- }
const auto * const bgData = static_cast<BuildGraphData *>(directoryData);
- BuildInfo info(factory);
+ BuildInfo info;
info.displayName = bgData->bgFilePath.toFileInfo().completeBaseName();
info.buildType = bgData->buildVariant == "debug"
? BuildConfiguration::Debug : BuildConfiguration::Release;
- info.kitId = k->id();
info.buildDirectory = bgData->bgFilePath.parentDir().parentDir();
QVariantMap config = bgData->overriddenProperties;
config.insert("configName", info.displayName);
info.extraInfo = config;
+ qCDebug(qbsPmLog) << "creating build info for " << info.displayName << ' ' << bgData->buildVariant;
return {info};
}
diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.h b/src/plugins/qbsprojectmanager/qbsprojectimporter.h
index 345e57522bd..49fba42f28b 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectimporter.h
+++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.h
@@ -42,8 +42,7 @@ private:
QList<void *> examineDirectory(const Utils::FilePath &importPath) const override;
bool matchKit(void *directoryData, const ProjectExplorer::Kit *k) const override;
ProjectExplorer::Kit *createKit(void *directoryData) const override;
- const QList<ProjectExplorer::BuildInfo> buildInfoListForKit(const ProjectExplorer::Kit *k,
- void *directoryData) const override;
+ const QList<ProjectExplorer::BuildInfo> buildInfoList(void *directoryData) const override;
void deleteDirectoryData(void *directoryData) const override;
};