使用Bazel构建C/C++项目
这是关于Bazel的第二篇blog,前一篇写了安装、配置相关的东西,这一篇则是4个逐步推进的例子,改编自官方demo;以及相应的概念、文档链接等。 [TOC] 前提 Linux(Ubuntu, etc)或Mac OSX系统,会点儿命令行(包括brew/apt) 装好了zsh和oh-my-zsh(用于 bazel build 等命令的补全) 装好了bazel; 学过C/C++; 用过make/cmake 最好会一点git bazel版本:目前我用0.21版本,最新版删过东西( https://docs.bazel.build/versions/0.21.0/be/workspace.html) 基本概念 WORKSPACE : 空文件;标识了项目根目录;只有一个 BUILD :WORKSPACE下的子目录里,如果放了一个名为 BUILD 的文件,则这个目录是一个 package ; BUILD 里写一些构建规则 (rules) cc_binary : C/C++ package 的最常用的构建规则 bazel的C/C++在线文档: https://docs.bazel.build/versions/master/be/c-cpp.html target 的概念:cmake中的target包括executable、library两种情况 rule 的概念:类似于cmake中