gn的参数使用非常方便。你可以直接用
--args
declare_args() {
var=""
}
在任何地方定义变量,然后在要使用的地方import进来就可以使用了。
然而有时候我们希望 通过在shell中传递参数
gn gen out/Debug "--args ***“”
gn的规则很人性化,优先shell中的参数。即,如果在在一个gni中定义了一个参数A=true,然后你在gn out 中指定了
gn gen "--args=A=false "
那么你在gni中检查 if(A)时,A为false,即,先加载gni中的值,然后优先使用shell中的传过来的参数。
这用法比以前gyp中通过set GYP_DEFINES来定义变量有点类似。不过更友好了。