最简单的gn构建 脱离chromium

使用Google的gn工具构建C++项目,但是官方的demo构建脚本还是不够简单,这里写一个最简单的构建结构.

目录结构

 

目录结构

目录结构

 

必要的几个文件

  • .gn
  • 根目录下的BUIlD.gn
  • BUILDCONFIG.gn

.gn

 
 
# gn help dotfile

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

这里就指定个最简单的buildconfig文件即可.

BUILD.gn

 
 
executable("gn-demo") {
    sources = [
        "main.cpp"
    ]
}

代表着要构建可执行文件.

BUILDCONFIG.gn

 
 
set_default_toolchain("//build/config/toolchains:mac")

这里指定了使用的默认工具链

toolchains

build/config/toolchains/BUILD.gn

 
 
toolchain("mac") {

    tool("cxx"){
        command = "clang++ -c {{source}} -o {{output}}"
        outputs = [ "{{source_out_dir}}/{{target_output_name}}.o" ]

    }

    tool("link"){
        exe_name = "{{root_out_dir}}/{{target_output_name}}{{output_extension}}"
        command = "clang++ {{inputs}} -o $exe_name"
        outputs = ["$exe_name"]
    }
}

写工具链的脚本,需要大致明白C++的编译流程.

其中cxx:代表编译C++,link代表链接.由于我使用的是Mac,所以这里使用clang进行编译.

构建

 
shell
gn gen out/Debug
ninja -C out/Debug

可执行文件就构建成功了.

来源: 姜康的技术博客
文章作者: 姜康
文章链接: https://www.jiangkang.tech/2020/05/29/c/gn-gou-jian-c-xiang-mu-zhi-helloworld/
本文章著作权归作者所有,任何形式的转载都请注明出处。

原文链接: https://www.cnblogs.com/bigben0123/p/13841621.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    最简单的gn构建 脱离chromium

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/204111

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午9:45
下一篇 2023年2月12日 下午9:46

相关推荐