GN是一种元构建系统 生成Ninja构建文件 Ninja build files 相较GYP而言 具有如下优点
可读性更好 更容易编写和维护。速度更快 谷歌官方给的数据是20倍的速度提升。修改GN文件后 执行ninja构建时会自动更新Ninja构建文件。更简单的模块依赖 提供了public_deps, data_deps等 在GYP中 只有一种目标依赖 导致依赖关系错综复杂 容易引入不必要的模块依赖。提供了更好的工具查询模块依赖图谱。这在GYP构建系统中是一个噩梦 要查一个目标依赖哪些模块或者一个模块被哪些目标依赖几乎是不可能的。更好的调试支持。在GN中 只需要一条print语句就可以解决。 搭建sudo apt-get install clang ninja-build re2c cmake git clone git github.com:MeekJeen/GN.git cd GN python3 build/gen.py //本目录下生成out目录 ninja -C out //生成gn cd examples/simple_build ../../out/gn gen out/default //编译生成.ninja文件 ../../out/gn args --list out/default //显示参数 ninja -C out/default -v //ninja使用.ninja脚本编译生成可执行程序 cd out/default ./hello Hello, world



