Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(621)

Side by Side Diff: tools/gn/command_gen.cc

Issue 2738823002: Gn: Add support to generate Visual Studio 2017 solutions. (Closed)
Patch Set: Fix of default version Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/gn/visual_studio_writer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/atomicops.h" 5 #include "base/atomicops.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "base/timer/elapsed_timer.h" 10 #include "base/timer/elapsed_timer.h"
(...skipping 18 matching lines...) Expand all
29 namespace { 29 namespace {
30 30
31 const char kSwitchCheck[] = "check"; 31 const char kSwitchCheck[] = "check";
32 const char kSwitchFilters[] = "filters"; 32 const char kSwitchFilters[] = "filters";
33 const char kSwitchIde[] = "ide"; 33 const char kSwitchIde[] = "ide";
34 const char kSwitchIdeValueEclipse[] = "eclipse"; 34 const char kSwitchIdeValueEclipse[] = "eclipse";
35 const char kSwitchIdeValueQtCreator[] = "qtcreator"; 35 const char kSwitchIdeValueQtCreator[] = "qtcreator";
36 const char kSwitchIdeValueVs[] = "vs"; 36 const char kSwitchIdeValueVs[] = "vs";
37 const char kSwitchIdeValueVs2013[] = "vs2013"; 37 const char kSwitchIdeValueVs2013[] = "vs2013";
38 const char kSwitchIdeValueVs2015[] = "vs2015"; 38 const char kSwitchIdeValueVs2015[] = "vs2015";
39 const char kSwitchIdeValueVs2017[] = "vs2017";
39 const char kSwitchIdeValueXcode[] = "xcode"; 40 const char kSwitchIdeValueXcode[] = "xcode";
40 const char kSwitchIdeValueJson[] = "json"; 41 const char kSwitchIdeValueJson[] = "json";
41 const char kSwitchNinjaExtraArgs[] = "ninja-extra-args"; 42 const char kSwitchNinjaExtraArgs[] = "ninja-extra-args";
42 const char kSwitchNoDeps[] = "no-deps"; 43 const char kSwitchNoDeps[] = "no-deps";
43 const char kSwitchRootTarget[] = "root-target"; 44 const char kSwitchRootTarget[] = "root-target";
44 const char kSwitchSln[] = "sln"; 45 const char kSwitchSln[] = "sln";
45 const char kSwitchWorkspace[] = "workspace"; 46 const char kSwitchWorkspace[] = "workspace";
46 const char kSwitchJsonFileName[] = "json-file-name"; 47 const char kSwitchJsonFileName[] = "json-file-name";
47 const char kSwitchJsonIdeScript[] = "json-ide-script"; 48 const char kSwitchJsonIdeScript[] = "json-ide-script";
48 const char kSwitchJsonIdeScriptArgs[] = "json-ide-script-args"; 49 const char kSwitchJsonIdeScriptArgs[] = "json-ide-script-args";
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 187
187 if (ide == kSwitchIdeValueEclipse) { 188 if (ide == kSwitchIdeValueEclipse) {
188 bool res = EclipseWriter::RunAndWriteFile(build_settings, builder, err); 189 bool res = EclipseWriter::RunAndWriteFile(build_settings, builder, err);
189 if (res && !quiet) { 190 if (res && !quiet) {
190 OutputString("Generating Eclipse settings took " + 191 OutputString("Generating Eclipse settings took " +
191 base::Int64ToString(timer.Elapsed().InMilliseconds()) + 192 base::Int64ToString(timer.Elapsed().InMilliseconds()) +
192 "ms\n"); 193 "ms\n");
193 } 194 }
194 return res; 195 return res;
195 } else if (ide == kSwitchIdeValueVs || ide == kSwitchIdeValueVs2013 || 196 } else if (ide == kSwitchIdeValueVs || ide == kSwitchIdeValueVs2013 ||
196 ide == kSwitchIdeValueVs2015) { 197 ide == kSwitchIdeValueVs2015 || ide == kSwitchIdeValueVs2017) {
197 VisualStudioWriter::Version version = 198 VisualStudioWriter::Version version = VisualStudioWriter::Version::Vs2015;
198 ide == kSwitchIdeValueVs2013 ? VisualStudioWriter::Version::Vs2013 199 if (ide == kSwitchIdeValueVs2013)
199 : VisualStudioWriter::Version::Vs2015; 200 version = VisualStudioWriter::Version::Vs2013;
201 else if (ide == kSwitchIdeValueVs2017)
202 version = VisualStudioWriter::Version::Vs2017;
203
200 std::string sln_name; 204 std::string sln_name;
201 if (command_line->HasSwitch(kSwitchSln)) 205 if (command_line->HasSwitch(kSwitchSln))
202 sln_name = command_line->GetSwitchValueASCII(kSwitchSln); 206 sln_name = command_line->GetSwitchValueASCII(kSwitchSln);
203 std::string filters; 207 std::string filters;
204 if (command_line->HasSwitch(kSwitchFilters)) 208 if (command_line->HasSwitch(kSwitchFilters))
205 filters = command_line->GetSwitchValueASCII(kSwitchFilters); 209 filters = command_line->GetSwitchValueASCII(kSwitchFilters);
206 bool no_deps = command_line->HasSwitch(kSwitchNoDeps); 210 bool no_deps = command_line->HasSwitch(kSwitchNoDeps);
207 bool res = VisualStudioWriter::RunAndWriteFiles( 211 bool res = VisualStudioWriter::RunAndWriteFiles(
208 build_settings, builder, version, sln_name, filters, no_deps, err); 212 build_settings, builder, version, sln_name, filters, no_deps, err);
209 if (res && !quiet) { 213 if (res && !quiet) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 290
287 GN optionally generates files for IDE. Possibilities for <ide options> 291 GN optionally generates files for IDE. Possibilities for <ide options>
288 292
289 --ide=<ide_name> 293 --ide=<ide_name>
290 Generate files for an IDE. Currently supported values: 294 Generate files for an IDE. Currently supported values:
291 "eclipse" - Eclipse CDT settings file. 295 "eclipse" - Eclipse CDT settings file.
292 "vs" - Visual Studio project/solution files. 296 "vs" - Visual Studio project/solution files.
293 (default Visual Studio version: 2015) 297 (default Visual Studio version: 2015)
294 "vs2013" - Visual Studio 2013 project/solution files. 298 "vs2013" - Visual Studio 2013 project/solution files.
295 "vs2015" - Visual Studio 2015 project/solution files. 299 "vs2015" - Visual Studio 2015 project/solution files.
300 "vs2017" - Visual Studio 2017 project/solution files.
296 "xcode" - Xcode workspace/solution files. 301 "xcode" - Xcode workspace/solution files.
297 "qtcreator" - QtCreator project files. 302 "qtcreator" - QtCreator project files.
298 "json" - JSON file containing target information 303 "json" - JSON file containing target information
299 304
300 --filters=<path_prefixes> 305 --filters=<path_prefixes>
301 Semicolon-separated list of label patterns used to limit the set of 306 Semicolon-separated list of label patterns used to limit the set of
302 generated projects (see "gn help label_pattern"). Only matching targets 307 generated projects (see "gn help label_pattern"). Only matching targets
303 and their dependencies will be included in the solution. Only used for 308 and their dependencies will be included in the solution. Only used for
304 Visual Studio, Xcode and JSON. 309 Visual Studio, Xcode and JSON.
305 310
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 setup->scheduler().input_file_manager()->GetInputFileCount()) + 449 setup->scheduler().input_file_manager()->GetInputFileCount()) +
445 " files in " + 450 " files in " +
446 base::Int64ToString(elapsed_time.InMilliseconds()) + "ms\n"; 451 base::Int64ToString(elapsed_time.InMilliseconds()) + "ms\n";
447 OutputString(stats); 452 OutputString(stats);
448 } 453 }
449 454
450 return 0; 455 return 0;
451 } 456 }
452 457
453 } // namespace commands 458 } // namespace commands
OLDNEW
« no previous file with comments | « no previous file | tools/gn/visual_studio_writer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698