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:
@@ -409,13 +409,13 @@ CMakeBuildConfigurationFactory::CMakeBuildConfigurationFactory()
|
||||
setSupportedProjectType(CMakeProjectManager::Constants::CMAKEPROJECT_ID);
|
||||
setSupportedProjectMimeTypeName(Constants::CMAKEPROJECTMIMETYPE);
|
||||
|
||||
setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) {
|
||||
setBuildGenerator([](const Kit *k, const FilePath &projectPath, bool forSetup) {
|
||||
QList<BuildInfo> result;
|
||||
|
||||
FilePath path = forSetup ? Project::projectDirectory(projectPath) : projectPath;
|
||||
|
||||
for (int type = BuildTypeDebug; type != BuildTypeLast; ++type) {
|
||||
BuildInfo info = createBuildInfo(k, path.toString(), BuildType(type));
|
||||
BuildInfo info = createBuildInfo(BuildType(type));
|
||||
if (forSetup) {
|
||||
info.buildDirectory = CMakeBuildConfiguration::shadowBuildDirectory(projectPath,
|
||||
k,
|
||||
@@ -457,12 +457,9 @@ BuildConfiguration::BuildType CMakeBuildConfigurationFactory::cmakeBuildTypeToBu
|
||||
return BuildConfiguration::Unknown;
|
||||
}
|
||||
|
||||
BuildInfo CMakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
|
||||
const QString &,
|
||||
BuildType buildType) const
|
||||
BuildInfo CMakeBuildConfigurationFactory::createBuildInfo(BuildType buildType)
|
||||
{
|
||||
BuildInfo info(this);
|
||||
info.kitId = k->id();
|
||||
BuildInfo info;
|
||||
|
||||
switch (buildType) {
|
||||
case BuildTypeNone:
|
||||
|
||||
@@ -124,9 +124,7 @@ public:
|
||||
static ProjectExplorer::BuildConfiguration::BuildType cmakeBuildTypeToBuildType(const BuildType &in);
|
||||
|
||||
private:
|
||||
ProjectExplorer::BuildInfo createBuildInfo(const ProjectExplorer::Kit *k,
|
||||
const QString &sourceDir,
|
||||
BuildType buildType) const;
|
||||
static ProjectExplorer::BuildInfo createBuildInfo(BuildType buildType);
|
||||
|
||||
friend class CMakeProjectImporter;
|
||||
};
|
||||
|
||||
@@ -335,17 +335,13 @@ Kit *CMakeProjectImporter::createKit(void *directoryData) const
|
||||
});
|
||||
}
|
||||
|
||||
const QList<BuildInfo> CMakeProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const
|
||||
const QList<BuildInfo> CMakeProjectImporter::buildInfoList(void *directoryData) const
|
||||
{
|
||||
auto data = static_cast<const DirectoryData *>(directoryData);
|
||||
auto factory = dynamic_cast<CMakeBuildConfigurationFactory *>(
|
||||
BuildConfigurationFactory::find(k, projectFilePath()));
|
||||
if (!factory)
|
||||
return {};
|
||||
|
||||
// create info:
|
||||
BuildInfo info = factory->createBuildInfo(k, projectDirectory().toString(),
|
||||
CMakeBuildConfigurationFactory::buildTypeFromByteArray(data->cmakeBuildType));
|
||||
BuildInfo info = CMakeBuildConfigurationFactory::createBuildInfo(
|
||||
CMakeBuildConfigurationFactory::buildTypeFromByteArray(data->cmakeBuildType));
|
||||
info.buildDirectory = data->buildDirectory;
|
||||
info.displayName = info.typeName;
|
||||
|
||||
|
||||
@@ -44,8 +44,7 @@ private:
|
||||
QList<void *> examineDirectory(const Utils::FilePath &importPath) const final;
|
||||
bool matchKit(void *directoryData, const ProjectExplorer::Kit *k) const final;
|
||||
ProjectExplorer::Kit *createKit(void *directoryData) const final;
|
||||
const QList<ProjectExplorer::BuildInfo> buildInfoListForKit(const ProjectExplorer::Kit *k,
|
||||
void *directoryData) const final;
|
||||
const QList<ProjectExplorer::BuildInfo> buildInfoList(void *directoryData) const final;
|
||||
|
||||
struct CMakeToolData {
|
||||
bool isTemporary = false;
|
||||
|
||||
Reference in New Issue
Block a user