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 =