gn help dotfile

.gnファイル

gnが起動されると、カレントディレクトリと親ディレクトリを走査し.gnファイルを探す。このファイルが見つかったディレクトリがソースルートになる。--rootコマンドラインでこの値を上書きできる。

.gnファイルが実行される。シンタクスはビルドファイルと同じであるが、セットアップに特化した意味しか持っていない。

--rootを指定すると、GNはそのディレクトリから.gnを探す。違うファイルを探したい場合は--dotfileで指定する。 例:

 gn gen out/Debug --root=/home/build --dotfile=/home/my_gn_file.gn

変数

arg_file_template (オプション)

ファイルを指定するとgn argsを実行したときのデフォルトのargs.gnを置き換える。

buildconfig (必須)

ビルド設定ファイルを指定する。このファイルはツールチェインのビルドファイル実行環境セットアップに使われる。

check_targets (オプション)

ラベルまたはラベルパターンのリストをしていする。gn checkgn gen --checkで使われる。指定されない場合はすべてのターゲットがチェックされる。からのリストが指定された場合は、どのターゲットもチェックされない。

このリストのフォーマットはvisibilityと同じである。"gn help visibility"を参照。

exec_script_whitelist (オプション)

.gn/.gniのリスト(ラベルではない)でexec_script呼び出しの許可を持つ。このリストが定義されると、exec_script呼び出しがチェックされ、現在のファイルがリストにないとGNのエラーになる。

exec_scriptの実行を制限するために使う。ワイルドカードはサポートされない。2番めのソースツリーのファイルは(定義された場合)メインツリーに存在するかのように参照される。

指定されない場合は、exec_scriptの呼び出しは制限されない。

例:

 exec_script_whitelist = [
   "//base/BUILD.gn",
   "//build/my_config.gni",
 ]

root (オプション)

ルートビルドターゲットのラベル。GNビルドはこのターゲット名を含むビルドファイルをロードすることから始まる。デフォルトは"//:"になり、"//BUILD.gn"ファイルがロードされる。

script_executable (オプション)

Pythonまたは他の言語のインタプリタへのパス、スクリプトの実行やexec_scriptの呼び出しで使われる。

secondary_source (オプション)

入力ファイルを探すための第2のディレクトリのラベル。BUILD.gnを探すとき(または上で記述したビルド設定ファイル)最初はソースルートから探される。そこで見つからないとき、第2のソースルートが使われる(それはパラレルなディレクトリ構成を含むかもしれない)。

この動作は何らかの理由によりBUILD.gnが見つからないときのためのものである。

第2のソースルートはメインソースツリーの内部に存在しなければならない。

default_args (オプション)

宣言された引数をデフォルトで上書きする範囲。これらの上書きはdeclare_args()ブロックに先駆けて実行される。が--argsargs.gnで上書きされる。

これは下位プロジェクトで宣言した引数のデフォルト値が何らかの理由により変化される必要があるときに使われる。

例: .gnファイルの中身

 buildconfig = "//build/config/BUILDCONFIG.gn"

 check_targets = [
   "//doom_melon/*",  # Check everything in this subtree.
   "//tools:mind_controlling_ant",  # Check this specific target.
 ]

 root = "//:root"

 secondary_source = "//build/config/temporary_buildfiles/"

 default_args = {
   # Default to release builds for this project.
   is_debug = false
   is_component_build = false
 }
Page last modified on June 26, 2018, at 05:28 AM
Powered by PmWiki