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

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

Issue 2023003006: [Mac/iOS/GN] Document the new rules for create_bundle and runtime_deps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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/functions_target.cc » ('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 ## **\--args**: Specifies build arguments overrides. 5 ## **\--args**: Specifies build arguments overrides.
6 6
7 ``` 7 ```
8 See "gn help buildargs" for an overview of how build arguments work. 8 See "gn help buildargs" for an overview of how build arguments work.
9 9
10 Most operations take a build directory. The build arguments are taken 10 Most operations take a build directory. The build arguments are taken
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 and builds everything. 729 and builds everything.
730 730
731 ``` 731 ```
732 732
733 ### **QtCreator Flags** 733 ### **QtCreator Flags**
734 734
735 ``` 735 ```
736 --root-target=<target_name> 736 --root-target=<target_name>
737 Name of the root target for which the QtCreator project will be 737 Name of the root target for which the QtCreator project will be
738 generated to contain files of it and its dependencies. If unset, 738 generated to contain files of it and its dependencies. If unset,
739 the whole build graph will be omitted. 739 the whole build graph will be emitted.
740 740
741 741
742 ``` 742 ```
743 743
744 ### **Eclipse IDE Support** 744 ### **Eclipse IDE Support**
745 745
746 ``` 746 ```
747 GN DOES NOT generate Eclipse CDT projects. Instead, it generates a 747 GN DOES NOT generate Eclipse CDT projects. Instead, it generates a
748 settings file which can be imported into an Eclipse CDT project. The 748 settings file which can be imported into an Eclipse CDT project. The
749 XML file contains a list of include paths and defines. Because GN does 749 XML file contains a list of include paths and defines. Because GN does
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 they are computed from all "bundle_data" target this one depends on 1411 they are computed from all "bundle_data" target this one depends on
1412 transitively (the recursion stops at "create_bundle" targets). 1412 transitively (the recursion stops at "create_bundle" targets).
1413 1413
1414 The "bundle_*_dir" properties must be defined. They will be used for 1414 The "bundle_*_dir" properties must be defined. They will be used for
1415 the expansion of {{bundle_*_dir}} rules in "bundle_data" outputs. 1415 the expansion of {{bundle_*_dir}} rules in "bundle_data" outputs.
1416 1416
1417 This target can be used on all platforms though it is designed only to 1417 This target can be used on all platforms though it is designed only to
1418 generate iOS/OS X bundle. In cross-platform projects, it is advised to 1418 generate iOS/OS X bundle. In cross-platform projects, it is advised to
1419 put it behind iOS/Mac conditionals. 1419 put it behind iOS/Mac conditionals.
1420 1420
1421 If a create_bundle is specified as a data_deps for another target, the
1422 bundle is considered a leaf, and its public and private dependencies
1423 will not contribute to any data or data_deps. Required runtime
1424 dependencies should be placed in the bundle. A create_bundle can
1425 declare its own explicit data and data_deps, however.
1426
1421 ``` 1427 ```
1422 1428
1423 ### **Variables** 1429 ### **Variables**
1424 1430
1425 ``` 1431 ```
1426 bundle_root_dir*, bundle_resources_dir*, bundle_executable_dir*, 1432 bundle_root_dir*, bundle_resources_dir*, bundle_executable_dir*,
1427 bundle_plugins_dir*, deps, data_deps, public_deps, visibility, 1433 bundle_plugins_dir*, deps, data_deps, public_deps, visibility,
1428 product_type 1434 product_type
1429 * = required 1435 * = required
1430 1436
(...skipping 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after
2551 Make a ".a" / ".lib" file. 2557 Make a ".a" / ".lib" file.
2552 2558
2553 If you only need the static library for intermediate results in the 2559 If you only need the static library for intermediate results in the
2554 build, you should consider a source_set instead since it will skip 2560 build, you should consider a source_set instead since it will skip
2555 the (potentially slow) step of creating the intermediate library file. 2561 the (potentially slow) step of creating the intermediate library file.
2556 2562
2557 ``` 2563 ```
2558 2564
2559 ### **Variables** 2565 ### **Variables**
2560 2566
2567 ### **complete_static_lib**
2561 ``` 2568 ```
2562 Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc, 2569 Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
2563 asmflags, defines, include_dirs, ldflags, lib_dirs, libs, 2570 asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
2564 precompiled_header, precompiled_source 2571 precompiled_header, precompiled_source
2565 Deps: data_deps, deps, public_deps 2572 Deps: data_deps, deps, public_deps
2566 Dependent configs: all_dependent_configs, public_configs 2573 Dependent configs: all_dependent_configs, public_configs
2567 General: check_includes, configs, data, inputs, output_name, 2574 General: check_includes, configs, data, inputs, output_name,
2568 output_extension, public, sources, testonly, visibility 2575 output_extension, public, sources, testonly, visibility
2569 2576
2570 2577
(...skipping 1819 matching lines...) Expand 10 before | Expand all | Expand 10 after
4390 GN doesn't require data files to exist at build-time. So actions that 4397 GN doesn't require data files to exist at build-time. So actions that
4391 produce files that are in turn runtime dependencies can list those 4398 produce files that are in turn runtime dependencies can list those
4392 generated files both in the "outputs" list as well as the "data" 4399 generated files both in the "outputs" list as well as the "data"
4393 list. 4400 list.
4394 4401
4395 By convention, directories are listed with a trailing slash: 4402 By convention, directories are listed with a trailing slash:
4396 data = [ "test/data/" ] 4403 data = [ "test/data/" ]
4397 However, no verification is done on these so GN doesn't enforce this. 4404 However, no verification is done on these so GN doesn't enforce this.
4398 The paths are just rebased and passed along when requested. 4405 The paths are just rebased and passed along when requested.
4399 4406
4407 Note: On iOS and OS X, create_bundle targets will not be recursed
4408 into when gathering data. See "gn help create_bundle" for details.
4409
4400 See "gn help runtime_deps" for how these are used. 4410 See "gn help runtime_deps" for how these are used.
4401 4411
4402 4412
4403 ``` 4413 ```
4404 ## **data_deps**: Non-linked dependencies. 4414 ## **data_deps**: Non-linked dependencies.
4405 4415
4406 ``` 4416 ```
4407 A list of target labels. 4417 A list of target labels.
4408 4418
4409 Specifies dependencies of a target that are not actually linked into 4419 Specifies dependencies of a target that are not actually linked into
4410 the current target. Such dependencies will be built and will be 4420 the current target. Such dependencies will be built and will be
4411 available at runtime. 4421 available at runtime.
4412 4422
4413 This is normally used for things like plugins or helper programs that 4423 This is normally used for things like plugins or helper programs that
4414 a target needs at runtime. 4424 a target needs at runtime.
4415 4425
4426 Note: On iOS and OS X, create_bundle targets will not be recursed
4427 into when gathering data_deps. See "gn help create_bundle" for
4428 details.
4429
4416 See also "gn help deps" and "gn help data". 4430 See also "gn help deps" and "gn help data".
4417 4431
4418 ``` 4432 ```
4419 4433
4420 ### **Example** 4434 ### **Example**
4421 4435
4422 ``` 4436 ```
4423 executable("foo") { 4437 executable("foo") {
4424 deps = [ "//base" ] 4438 deps = [ "//base" ]
4425 data_deps = [ "//plugins:my_runtime_plugin" ] 4439 data_deps = [ "//plugins:my_runtime_plugin" ]
(...skipping 1602 matching lines...) Expand 10 before | Expand all | Expand 10 after
6028 ** \--root**: Explicitly specify source root. 6042 ** \--root**: Explicitly specify source root.
6029 ** \--runtime-deps-list-file**: Save runtime dependencies for targets in file. 6043 ** \--runtime-deps-list-file**: Save runtime dependencies for targets in file.
6030 ** \--script-executable**: Set the executable used to execute scripts. 6044 ** \--script-executable**: Set the executable used to execute scripts.
6031 ** \--threads**: Specify number of worker threads. 6045 ** \--threads**: Specify number of worker threads.
6032 ** \--time**: Outputs a summary of how long everything took. 6046 ** \--time**: Outputs a summary of how long everything took.
6033 ** \--tracelog**: Writes a Chrome-compatible trace log to the given file. 6047 ** \--tracelog**: Writes a Chrome-compatible trace log to the given file.
6034 ** -v**: Verbose logging. 6048 ** -v**: Verbose logging.
6035 ** \--version**: Prints the GN version number and exits. 6049 ** \--version**: Prints the GN version number and exits.
6036 6050
6037 ``` 6051 ```
OLDNEW
« no previous file with comments | « no previous file | tools/gn/functions_target.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698