forked from qt-creator/qt-creator
CMake: Cleanup QString/FileName conversions
Change-Id: Ifba5afcc98823aea2f789b65b6be4de8ebf050a1 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
38ec4dd6ae
commit
067ea9cdd6
@@ -57,26 +57,25 @@ namespace Internal {
|
|||||||
|
|
||||||
const char USE_NINJA_KEY[] = "CMakeProjectManager.CMakeBuildConfiguration.UseNinja";
|
const char USE_NINJA_KEY[] = "CMakeProjectManager.CMakeBuildConfiguration.UseNinja";
|
||||||
|
|
||||||
static QString shadowBuildDirectory(const QString &projectFilePath, const Kit *k, const QString &bcName)
|
static FileName shadowBuildDirectory(const FileName &projectFilePath, const Kit *k, const QString &bcName)
|
||||||
{
|
{
|
||||||
if (projectFilePath.isEmpty())
|
if (projectFilePath.isEmpty())
|
||||||
return QString();
|
return FileName();
|
||||||
QFileInfo info(projectFilePath);
|
|
||||||
|
|
||||||
const QString projectName = FileName::fromString(info.absolutePath()).fileName();
|
const QString projectName = projectFilePath.fileName();
|
||||||
ProjectMacroExpander expander(projectName, k, bcName);
|
ProjectMacroExpander expander(projectName, k, bcName);
|
||||||
QDir projectDir = QDir(Project::projectDirectory(FileName::fromString(projectFilePath)).toString());
|
QDir projectDir = QDir(Project::projectDirectory(projectFilePath).toString());
|
||||||
QString buildPath = expander.expand(Core::DocumentManager::buildDirectory());
|
QString buildPath = expander.expand(Core::DocumentManager::buildDirectory());
|
||||||
return QDir::cleanPath(projectDir.absoluteFilePath(buildPath));
|
return FileName::fromUserInput(projectDir.absoluteFilePath(buildPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent) :
|
CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent) :
|
||||||
BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID)), m_useNinja(false)
|
BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID)), m_useNinja(false)
|
||||||
{
|
{
|
||||||
CMakeProject *project = static_cast<CMakeProject *>(parent->project());
|
CMakeProject *project = static_cast<CMakeProject *>(parent->project());
|
||||||
setBuildDirectory(Utils::FileName::fromString(shadowBuildDirectory(project->projectFilePath().toString(),
|
setBuildDirectory(shadowBuildDirectory(project->projectFilePath(),
|
||||||
parent->kit(),
|
parent->kit(),
|
||||||
displayName())));
|
displayName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent,
|
CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent,
|
||||||
@@ -170,10 +169,11 @@ QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableSet
|
|||||||
const QString &projectPath) const
|
const QString &projectPath) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
CMakeBuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(Utils::FileName::fromString(projectPath)).toString());
|
const FileName projectPathName = FileName::fromString(projectPath);
|
||||||
|
CMakeBuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(projectPathName).toString());
|
||||||
//: The name of the build configuration created by default for a cmake project.
|
//: The name of the build configuration created by default for a cmake project.
|
||||||
info->displayName = tr("Default");
|
info->displayName = tr("Default");
|
||||||
info->buildDirectory = FileName::fromString(shadowBuildDirectory(projectPath, k, info->displayName));
|
info->buildDirectory = shadowBuildDirectory(projectPathName, k, info->displayName);
|
||||||
result << info;
|
result << info;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -188,10 +188,10 @@ ProjectExplorer::BuildConfiguration *CMakeBuildConfigurationFactory::create(Proj
|
|||||||
CMakeBuildInfo copy(*static_cast<const CMakeBuildInfo *>(info));
|
CMakeBuildInfo copy(*static_cast<const CMakeBuildInfo *>(info));
|
||||||
CMakeProject *project = static_cast<CMakeProject *>(parent->project());
|
CMakeProject *project = static_cast<CMakeProject *>(parent->project());
|
||||||
|
|
||||||
if (copy.buildDirectory.isEmpty())
|
if (copy.buildDirectory.isEmpty()) {
|
||||||
copy.buildDirectory = FileName::fromString(shadowBuildDirectory(project->projectFilePath().toString(),
|
copy.buildDirectory = shadowBuildDirectory(project->projectFilePath(), parent->kit(),
|
||||||
parent->kit(),
|
copy.displayName);
|
||||||
copy.displayName));
|
}
|
||||||
|
|
||||||
CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), project->projectManager(), CMakeOpenProjectWizard::ChangeDirectory, ©);
|
CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), project->projectManager(), CMakeOpenProjectWizard::ChangeDirectory, ©);
|
||||||
if (copw.exec() != QDialog::Accepted)
|
if (copw.exec() != QDialog::Accepted)
|
||||||
@@ -212,7 +212,7 @@ ProjectExplorer::BuildConfiguration *CMakeBuildConfigurationFactory::create(Proj
|
|||||||
cleanMakeStep->setAdditionalArguments(QLatin1String("clean"));
|
cleanMakeStep->setAdditionalArguments(QLatin1String("clean"));
|
||||||
cleanMakeStep->setClean(true);
|
cleanMakeStep->setClean(true);
|
||||||
|
|
||||||
bc->setBuildDirectory(Utils::FileName::fromString(copw.buildDirectory()));
|
bc->setBuildDirectory(FileName::fromString(copw.buildDirectory()));
|
||||||
bc->setUseNinja(copw.useNinja());
|
bc->setUseNinja(copw.useNinja());
|
||||||
|
|
||||||
// Default to all
|
// Default to all
|
||||||
@@ -269,7 +269,7 @@ CMakeBuildInfo *CMakeBuildConfigurationFactory::createBuildInfo(const ProjectExp
|
|||||||
CMakeBuildInfo *info = new CMakeBuildInfo(this);
|
CMakeBuildInfo *info = new CMakeBuildInfo(this);
|
||||||
info->typeName = tr("Build");
|
info->typeName = tr("Build");
|
||||||
info->kitId = k->id();
|
info->kitId = k->id();
|
||||||
info->environment = Utils::Environment::systemEnvironment();
|
info->environment = Environment::systemEnvironment();
|
||||||
k->addToEnvironment(info->environment);
|
k->addToEnvironment(info->environment);
|
||||||
info->useNinja = false;
|
info->useNinja = false;
|
||||||
info->sourceDirectory = sourceDir;
|
info->sourceDirectory = sourceDir;
|
||||||
|
|||||||
Reference in New Issue
Block a user