forked from qt-creator/qt-creator
ProjectExplorer: Move some of the BuildInfo setup code to central places
Change-Id: I8893366acb187ea1a94a8ca272ded2c46cb521d1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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};
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user