GN: Visual Studio generator does not depend on is_debug variable
R=brettw@chromium.org, tmoniuszko@opera.com
BUG=
Review URL: https://codereview.chromium.org/1734083002
Cr-Original-Commit-Position: refs/heads/master@{#377699}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5e369d0ddbe53298b2d59bd9af3f81ccffa84e0c
diff --git a/tools/gn/visual_studio_writer.cc b/tools/gn/visual_studio_writer.cc
index 2c454d2..6c364b3 100644
--- a/tools/gn/visual_studio_writer.cc
+++ b/tools/gn/visual_studio_writer.cc
@@ -79,6 +79,8 @@
const char kGuidSeedFolder[] = "folder";
const char kGuidSeedFilter[] = "filter";
+const char kConfigurationName[] = "GN";
+
std::string GetWindowsKitsIncludeDirs() {
std::string kits_path;
@@ -178,11 +180,9 @@
VisualStudioWriter::SolutionProject::~SolutionProject() = default;
VisualStudioWriter::VisualStudioWriter(const BuildSettings* build_settings,
- bool is_debug_config,
const char* config_platform,
Version version)
: build_settings_(build_settings),
- is_debug_config_(is_debug_config),
config_platform_(config_platform),
ninja_path_output_(build_settings->build_dir(),
build_settings->root_path_utf8(),
@@ -217,24 +217,19 @@
Err* err) {
std::vector<const Target*> targets = builder->GetAllResolvedTargets();
- bool is_debug_config = true;
const char* config_platform = "Win32";
- // Assume the "is_debug" and "target_cpu" variables do not change
- // between different toolchains.
+ // Assume the "target_cpu" variable does not change between different
+ // toolchains.
if (!targets.empty()) {
const Scope* scope = targets.front()->settings()->base_config();
- const Value* is_debug_value = scope->GetValue("is_debug");
- is_debug_config =
- is_debug_value == nullptr || is_debug_value->boolean_value();
const Value* target_cpu_value = scope->GetValue(variables::kTargetCpu);
if (target_cpu_value != nullptr &&
target_cpu_value->string_value() == "x64")
config_platform = "x64";
}
- VisualStudioWriter writer(build_settings, is_debug_config, config_platform,
- version);
+ VisualStudioWriter writer(build_settings, config_platform, version);
writer.projects_.reserve(targets.size());
writer.folders_.reserve(targets.size());
@@ -332,12 +327,11 @@
{
scoped_ptr<XmlElementWriter> configurations = project.SubElement(
"ItemGroup", XmlAttributes("Label", "ProjectConfigurations"));
- std::string config_name = is_debug_config_ ? "Debug" : "Release";
scoped_ptr<XmlElementWriter> project_config = configurations->SubElement(
"ProjectConfiguration",
- XmlAttributes("Include",
- config_name + '|' + solution_project.config_platform));
- project_config->SubElement("Configuration")->Text(config_name);
+ XmlAttributes("Include", std::string(kConfigurationName) + '|' +
+ solution_project.config_platform));
+ project_config->SubElement("Configuration")->Text(kConfigurationName);
project_config->SubElement("Platform")
->Text(solution_project.config_platform);
}
@@ -639,8 +633,7 @@
out << "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution"
<< std::endl;
- const std::string config_mode_prefix =
- std::string(is_debug_config_ ? "Debug" : "Release") + '|';
+ const std::string config_mode_prefix = std::string(kConfigurationName) + '|';
const std::string config_mode = config_mode_prefix + config_platform_;
out << "\t\t" << config_mode << " = " << config_mode << std::endl;
out << "\tEndGlobalSection" << std::endl;
diff --git a/tools/gn/visual_studio_writer.h b/tools/gn/visual_studio_writer.h
index e9f2658..6950dd6 100644
--- a/tools/gn/visual_studio_writer.h
+++ b/tools/gn/visual_studio_writer.h
@@ -75,7 +75,6 @@
using SolutionFolders = std::vector<SolutionEntry*>;
explicit VisualStudioWriter(const BuildSettings* build_settings,
- bool is_debug_config,
const char* config_platform,
Version version);
~VisualStudioWriter();
@@ -107,9 +106,6 @@
// Visual Studio version string.
const char* version_string_;
- // Indicates if project files are generated for Debug mode configuration.
- bool is_debug_config_;
-
// Platform for solution configuration (Win32, x64). Some projects may be
// configured for different platform.
const char* config_platform_;
diff --git a/tools/gn/visual_studio_writer_unittest.cc b/tools/gn/visual_studio_writer_unittest.cc
index e8ad75a..d70117f 100644
--- a/tools/gn/visual_studio_writer_unittest.cc
+++ b/tools/gn/visual_studio_writer_unittest.cc
@@ -26,7 +26,7 @@
} // namespace
TEST_F(VisualStudioWriterTest, ResolveSolutionFolders) {
- VisualStudioWriter writer(setup_.build_settings(), true, "Win32",
+ VisualStudioWriter writer(setup_.build_settings(), "Win32",
VisualStudioWriter::Version::Vs2015);
std::string path =
@@ -80,7 +80,7 @@
}
TEST_F(VisualStudioWriterTest, ResolveSolutionFolders_AbsPath) {
- VisualStudioWriter writer(setup_.build_settings(), true, "Win32",
+ VisualStudioWriter writer(setup_.build_settings(), "Win32",
VisualStudioWriter::Version::Vs2015);
std::string path =