最近重构代码之后,打算在本地用bazel来作项目构建。主要是因为brpc已经支持了bazel,所以在此之前料想会简单许多。
安装比较简单,centos直接用yum就行。按照这个指示:
1 wget https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo -O /etc/yum.repos.d/
2 yum install bazel
最基本的使用,参考tutorial就行了。
常用的也就是cc_library和cc_binary。(因为我现在用blade也是这样……)
当然写c++,这里有个common case可以看看。
头文件
头文件的引入比较复杂些,分几种情况:
1. 多文件。(使用通配符)
1 cc_library(2 name = "build-all-the-files",3 srcs = glob(["*.cc"]),4 hdrs = glob(["inlcude/**/*.h"]),5 )
2. 使用copts来指定引用目录。
1 cc_library(2 name = "some_lib",3 srcs = ["some_lib.cc"],4 hdrs = ["include/some_lib.h"],5 copts = ["-Ilegacy/some_lib/include"],6 )
这里就涉及到另一个参数,includes。includes和copts的使用区别主要有两点:
a. includes不需