forked from qt-creator/qt-creator
Nim: Add Debug and Release configs in available builds configurations
This allows the user to select a Release or Debug build type from the "Add" button in the project build configuration page. Change-Id: Id47bf25cdaf3fd7e7d3f0ec1449c7c2bb9961baa Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -183,37 +183,45 @@ NimBuildConfigurationFactory::NimBuildConfigurationFactory()
|
|||||||
|
|
||||||
QList<BuildInfo *> NimBuildConfigurationFactory::availableBuilds(const Target *parent) const
|
QList<BuildInfo *> NimBuildConfigurationFactory::availableBuilds(const Target *parent) const
|
||||||
{
|
{
|
||||||
// Retrieve the project path
|
QList<BuildInfo *> result;
|
||||||
auto project = qobject_cast<NimProject *>(parent->project());
|
for (auto buildType : {BuildConfiguration::Debug, BuildConfiguration::Release})
|
||||||
QTC_ASSERT(project, return {});
|
result.push_back(createBuildInfo(parent->kit(), buildType));
|
||||||
|
return result;
|
||||||
// Create the build info
|
|
||||||
BuildInfo *info = createBuildInfo(parent->kit(), project->projectFilePath().toString(),
|
|
||||||
BuildConfiguration::Debug);
|
|
||||||
|
|
||||||
info->displayName.clear(); // ask for a name
|
|
||||||
info->buildDirectory.clear(); // This depends on the displayName
|
|
||||||
|
|
||||||
return {info};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> NimBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
QList<BuildInfo *> NimBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
BuildInfo *debug = createBuildInfo(k, projectPath, BuildConfiguration::Debug);
|
QList<BuildInfo *> result;
|
||||||
BuildInfo *release = createBuildInfo(k, projectPath, BuildConfiguration::Release);
|
for (auto buildType : {BuildConfiguration::Debug, BuildConfiguration::Release}) {
|
||||||
return {debug, release};
|
BuildInfo *info = createBuildInfo(k, buildType);
|
||||||
|
info->displayName = info->typeName;
|
||||||
|
info->buildDirectory = defaultBuildDirectory(k, projectPath, info->typeName, buildType);
|
||||||
|
result.push_back(info);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildInfo *NimBuildConfigurationFactory::createBuildInfo(const Kit *k, const QString &projectFilePath,
|
BuildInfo *NimBuildConfigurationFactory::createBuildInfo(const Kit *k, BuildConfiguration::BuildType buildType) const
|
||||||
BuildConfiguration::BuildType buildType) const
|
|
||||||
{
|
{
|
||||||
auto result = new BuildInfo(this);
|
auto info = new BuildInfo(this);
|
||||||
result->buildType = buildType;
|
info->buildType = buildType;
|
||||||
result->displayName = BuildConfiguration::buildTypeName(buildType);
|
info->kitId = k->id();
|
||||||
result->buildDirectory = defaultBuildDirectory(k, projectFilePath, result->displayName, buildType);
|
info->typeName = displayName(buildType);
|
||||||
result->kitId = k->id();
|
return info;
|
||||||
result->typeName = tr("Build");
|
}
|
||||||
return result;
|
|
||||||
|
QString NimBuildConfigurationFactory::displayName(BuildConfiguration::BuildType buildType) const
|
||||||
|
{
|
||||||
|
switch (buildType) {
|
||||||
|
case ProjectExplorer::BuildConfiguration::Debug:
|
||||||
|
return tr("Debug");
|
||||||
|
case ProjectExplorer::BuildConfiguration::Profile:
|
||||||
|
return tr("Profile");
|
||||||
|
case ProjectExplorer::BuildConfiguration::Release:
|
||||||
|
return tr("Release");
|
||||||
|
default:
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Nim
|
} // namespace Nim
|
||||||
|
|||||||
@@ -73,8 +73,9 @@ private:
|
|||||||
const QString &projectPath) const override;
|
const QString &projectPath) const override;
|
||||||
|
|
||||||
ProjectExplorer::BuildInfo *createBuildInfo(const ProjectExplorer::Kit *k,
|
ProjectExplorer::BuildInfo *createBuildInfo(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath,
|
|
||||||
ProjectExplorer::BuildConfiguration::BuildType buildType) const;
|
ProjectExplorer::BuildConfiguration::BuildType buildType) const;
|
||||||
|
|
||||||
|
QString displayName(ProjectExplorer::BuildConfiguration::BuildType buildType) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user