Skip to content

Latest commit

 

History

History
25 lines (15 loc) · 1.63 KB

standalone.zh.md

File metadata and controls

25 lines (15 loc) · 1.63 KB

介绍

这一页是关于如何设计一个可以搭配 GN 独立构建的项目,也可以被引入到 Chrome 构建中.

原则上,GN 与 GYP 没有什么不同,因为在独立构建和 Chrome 构建之间存在一些必须相同的核心配置.然而,GN 在命名和配置方面更加明确,因此两个构建之间的相似性也更加明确,但配置的灵活性也更低.

最小的 GN 构建,您需要什么

要求:

  • 主构建配置文件.Chrome 是//build/config/BUILDCONFIG.gn
  • 用于定义工具链的单独生成文件.因为复杂的原因,将这些放入一个BUILD.gn文件中,任何目标的定义共享并不是一个好主意.Chrome 时定义在//build/toolchain/<platform>/BUILD.gn.
  • BUILD.gn根目录中的文件.这将在生成配置文件之后加载,以启动生成.

你可能想要根目录的一个.gn文件.当您运行 GN 时,它递归地查找目录树,直到找到该文件,并将包含的目录视为"源根目录".该文件还定义了主构建配置文件的位置:

  • 见 Chromesrc/.gn文件.
  • 与 Chrome 不同,您可能不需要定义第二根目录.
  • gn help dotfile获取更多信息.

在库添加一个.gn文件,拖入 Chrome 的存储库,意味着在子目录中为子项目运行 GN ,而不是为所有 Chrome 配置构建.这可能是有利的,也可能是不利的.

如果您在具有此类文件的目录中,并且不想使用它(例如,要进行完整的 Chrome 构建),则可以使用命令行参数--root--dotfile设置所需的值.

如果您想要一个完全独立的构建,它与 Chrome 无关,也不使用 Chrome的//build文件,你可以看//tools/gn/example.