工具 Bazel
Bazel是一个开源的构建和测试工具,类似Make、Maven和Gradle。它使用高级构建语言,并且支持多平台和多语言。
1、WORKSPACE文件:放在工程的根目录下,标识Bazel工程。
2、BUILD文件:定义Bazel的构建规则,每条规则都是一个目标(target),一个包(package)包含一个BUILD文件。
3、cc_binary:可执行二进制规则。
cc_binary(
name = "hello-world", # target名
srcs = ["hello-world.cc"], # 源文件
)
4、cc_library:库规则。
cc_library(
name = "hello-greet",
srcs = ["hello-greet.cc"],
hdrs = ["hello-greet.h"], # 头文件
)
5、依赖:一个target可以依赖另一个target,并且是增量编译的。
cc_binary(
name = "hello-world",
srcs = ["hello-world.cc"],
deps = [
":hello-greet", # 依赖
],
)
6、glob:全局匹配,类似CMake。
cc_library(
name = "build-all-the-files",
srcs = glob(["*.cc"]),
hdrs = glob(["*.h"]), # 匹配BUILD文件目录下所有.h文件
)
7、copts:C的编译选项。
cc_library(
name = "some_lib",
srcs = ["some_lib.cc"],
hdrs = ["include/some_lib.h"],
copts = ["-Ilegacy/some_lib/include"], # 指定头文件目录
)
参考链接

浙公网安备 33010602011771号