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

Side by Side Diff: tools/gn/docs/reference.md

Issue 2936773006: Allow overriding script executable in .gn file (Closed)
Patch Set: Windows path handling Created 3 years, 6 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/setup.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 # GN Reference 1 # GN Reference
2 2
3 *This page is automatically generated from* `gn help --markdown all`. 3 *This page is automatically generated from* `gn help --markdown all`.
4 4
5 ## Contents 5 ## Contents
6 6
7 * [Commands](#commands) 7 * [Commands](#commands)
8 * [analyze: Analyze which targets are affected by a list of files.](#analy ze) 8 * [analyze: Analyze which targets are affected by a list of files.](#analy ze)
9 * [args: Display or configure arguments declared by the build.](#args) 9 * [args: Display or configure arguments declared by the build.](#args)
10 * [check: Check header dependencies.](#check) 10 * [check: Check header dependencies.](#check)
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 #### **Examples** 591 #### **Examples**
592 ``` 592 ```
593 gn format //some/BUILD.gn 593 gn format //some/BUILD.gn
594 gn format some\\BUILD.gn 594 gn format some\\BUILD.gn
595 gn format /abspath/some/BUILD.gn 595 gn format /abspath/some/BUILD.gn
596 gn format --stdin 596 gn format --stdin
597 ``` 597 ```
598 ### <a name="gen:"></a>**gn gen**: Generate ninja files. 598 ### <a name="gen:"></a>**gn gen**: Generate ninja files.
599 599
600 ``` 600 ```
601 gn gen [<ide options>] <out_dir> 601 gn gen [--check] [<ide options>] <out_dir>
602 602
603 Generates ninja files from the current tree and puts them in the given output 603 Generates ninja files from the current tree and puts them in the given output
604 directory. 604 directory.
605 605
606 The output directory can be a source-repo-absolute path name such as: 606 The output directory can be a source-repo-absolute path name such as:
607 //out/foo 607 //out/foo
608 Or it can be a directory relative to the current directory such as: 608 Or it can be a directory relative to the current directory such as:
609 out/foo 609 out/foo
610 610
611 "gn gen --check" is the same as running "gn check". See "gn help check"
612 for documentation on that mode.
613
611 See "gn help switches" for the common command-line switches. 614 See "gn help switches" for the common command-line switches.
612 ``` 615 ```
613 616
614 #### **IDE options** 617 #### **IDE options**
615 618
616 ``` 619 ```
617 GN optionally generates files for IDE. Possibilities for <ide options> 620 GN optionally generates files for IDE. Possibilities for <ide options>
618 621
619 --ide=<ide_name> 622 --ide=<ide_name>
620 Generate files for an IDE. Currently supported values: 623 Generate files for an IDE. Currently supported values:
(...skipping 17 matching lines...) Expand all
638 #### **Visual Studio Flags** 641 #### **Visual Studio Flags**
639 642
640 ``` 643 ```
641 --sln=<file_name> 644 --sln=<file_name>
642 Override default sln file name ("all"). Solution file is written to the 645 Override default sln file name ("all"). Solution file is written to the
643 root build directory. 646 root build directory.
644 647
645 --no-deps 648 --no-deps
646 Don't include targets dependencies to the solution. Changes the way how 649 Don't include targets dependencies to the solution. Changes the way how
647 --filters option works. Only directly matching targets are included. 650 --filters option works. Only directly matching targets are included.
651
652 --winsdk=<sdk_version>
653 Use the specified Windows 10 SDK version to generate project files.
654 As an example, "10.0.15063.0" can be specified to use Creators Update SDK
655 instead of the default one.
648 ``` 656 ```
649 657
650 #### **Xcode Flags** 658 #### **Xcode Flags**
651 659
652 ``` 660 ```
653 --workspace=<file_name> 661 --workspace=<file_name>
654 Override defaut workspace file name ("all"). The workspace file is 662 Override defaut workspace file name ("all"). The workspace file is
655 written to the root build directory. 663 written to the root build directory.
656 664
657 --ninja-extra-args=<string> 665 --ninja-extra-args=<string>
(...skipping 23 matching lines...) Expand all
681 a list of include paths and defines. Because GN does not generate a full 689 a list of include paths and defines. Because GN does not generate a full
682 .cproject definition, it is not possible to properly define includes/defines 690 .cproject definition, it is not possible to properly define includes/defines
683 for each file individually. Instead, one set of includes/defines is generated 691 for each file individually. Instead, one set of includes/defines is generated
684 for the entire project. This works fairly well but may still result in a few 692 for the entire project. This works fairly well but may still result in a few
685 indexer issues here and there. 693 indexer issues here and there.
686 ``` 694 ```
687 695
688 #### **Generic JSON Output** 696 #### **Generic JSON Output**
689 697
690 ``` 698 ```
691 Dumps target information to JSON file and optionally invokes python script on 699 Dumps target information to a JSON file and optionally invokes a
692 generated file. See comments at the beginning of json_project_writer.cc and 700 python script on the generated file. See the comments at the beginning
693 desc_builder.cc for overview of JSON file format. 701 of json_project_writer.cc and desc_builder.cc for an overview of the JSON
702 file format.
694 703
695 --json-file-name=<json_file_name> 704 --json-file-name=<json_file_name>
696 Overrides default file name (project.json) of generated JSON file. 705 Overrides default file name (project.json) of generated JSON file.
697 706
698 --json-ide-script=<path_to_python_script> 707 --json-ide-script=<path_to_python_script>
699 Executes python script after the JSON file is generated. Path can be 708 Executes python script after the JSON file is generated. Path can be
700 project absolute (//), system absolute (/) or relative, in which case the 709 project absolute (//), system absolute (/) or relative, in which case the
701 output directory will be base. Path to generated JSON file will be first 710 output directory will be base. Path to generated JSON file will be first
702 argument when invoking script. 711 argument when invoking script.
703 712
(...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1925 The label of the toolchain. This will match the value of the 1934 The label of the toolchain. This will match the value of the
1926 "current_toolchain" variable when inside that target's declaration. 1935 "current_toolchain" variable when inside that target's declaration.
1927 ``` 1936 ```
1928 1937
1929 #### **Examples** 1938 #### **Examples**
1930 1939
1931 ``` 1940 ```
1932 get_label_info(":foo", "name") 1941 get_label_info(":foo", "name")
1933 # Returns string "foo". 1942 # Returns string "foo".
1934 1943
1935 get_label_info("//foo/bar:baz", "gen_dir") 1944 get_label_info("//foo/bar:baz", "target_gen_dir")
1936 # Returns string "//out/Debug/gen/foo/bar". 1945 # Returns string "//out/Debug/gen/foo/bar".
1937 ``` 1946 ```
1938 ### <a name="get_path_info"></a>**get_path_info**: Extract parts of a file or di rectory name. 1947 ### <a name="get_path_info"></a>**get_path_info**: Extract parts of a file or di rectory name.
1939 1948
1940 ``` 1949 ```
1941 get_path_info(input, what) 1950 get_path_info(input, what)
1942 1951
1943 The first argument is either a string representing a file or directory name, 1952 The first argument is either a string representing a file or directory name,
1944 or a list of such strings. If the input is a list the return value will be a 1953 or a list of such strings. If the input is a list the return value will be a
1945 list containing the result of applying the rule to each item in the input. 1954 list containing the result of applying the rule to each item in the input.
(...skipping 3405 matching lines...) Expand 10 before | Expand all | Expand 10 after
5351 exec_script_whitelist = [ 5360 exec_script_whitelist = [
5352 "//base/BUILD.gn", 5361 "//base/BUILD.gn",
5353 "//build/my_config.gni", 5362 "//build/my_config.gni",
5354 ] 5363 ]
5355 5364
5356 root [optional] 5365 root [optional]
5357 Label of the root build target. The GN build will start by loading the 5366 Label of the root build target. The GN build will start by loading the
5358 build file containing this target name. This defaults to "//:" which will 5367 build file containing this target name. This defaults to "//:" which will
5359 cause the file //BUILD.gn to be loaded. 5368 cause the file //BUILD.gn to be loaded.
5360 5369
5370 script_executable [optional]
5371 Path to specific Python executable or potentially a different language
5372 interpreter that is used to execute scripts in action targets and
5373 exec_script calls.
5374
5361 secondary_source [optional] 5375 secondary_source [optional]
5362 Label of an alternate directory tree to find input files. When searching 5376 Label of an alternate directory tree to find input files. When searching
5363 for a BUILD.gn file (or the build config file discussed above), the file 5377 for a BUILD.gn file (or the build config file discussed above), the file
5364 will first be looked for in the source root. If it's not found, the 5378 will first be looked for in the source root. If it's not found, the
5365 secondary source root will be checked (which would contain a parallel 5379 secondary source root will be checked (which would contain a parallel
5366 directory hierarchy). 5380 directory hierarchy).
5367 5381
5368 This behavior is intended to be used when BUILD.gn files can't be checked 5382 This behavior is intended to be used when BUILD.gn files can't be checked
5369 in to certain source directories for whatever reason. 5383 in to certain source directories for whatever reason.
5370 5384
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
6147 * [--root: Explicitly specify source root.](#--root) 6161 * [--root: Explicitly specify source root.](#--root)
6148 * [--runtime-deps-list-file: Save runtime dependencies for targets in file .](#--runtime-deps-list-file) 6162 * [--runtime-deps-list-file: Save runtime dependencies for targets in file .](#--runtime-deps-list-file)
6149 * [--script-executable: Set the executable used to execute scripts.](#--sc ript-executable) 6163 * [--script-executable: Set the executable used to execute scripts.](#--sc ript-executable)
6150 * [--threads: Specify number of worker threads.](#--threads) 6164 * [--threads: Specify number of worker threads.](#--threads)
6151 * [--time: Outputs a summary of how long everything took.](#--time) 6165 * [--time: Outputs a summary of how long everything took.](#--time)
6152 * [--tracelog: Writes a Chrome-compatible trace log to the given file.](#- -tracelog) 6166 * [--tracelog: Writes a Chrome-compatible trace log to the given file.](#- -tracelog)
6153 * [-v: Verbose logging.](#-v) 6167 * [-v: Verbose logging.](#-v)
6154 * [--version: Prints the GN version number and exits.](#--version) 6168 * [--version: Prints the GN version number and exits.](#--version)
6155 ``` 6169 ```
6156 6170
OLDNEW
« no previous file with comments | « no previous file | tools/gn/setup.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698