Bazel事始め

やりたいこと
c++のビルドを簡単に行いたい
Bazelとは
Bazel install
教科書(cpp-tutorial)
Code
構成
.
├── README.md
├── WORKSPACE
├── lib
│ ├── BUILD
│ ├── hello-name.cc
│ └── hello-name.h
└── main
├── BUILD
├── hello-get-name.cc
├── hello-get-name.h
└── hello-robots.cc
直下に空のWORKSPACEを作る
ディレクトリがわかれる場合はそれぞれにBUILDを設置
BUILDの書き方
libの方
cc_library(
name = "hello-name",
srcs = ["hello-name.cc"],
hdrs = ["hello-name.h"],
visibility = ["//main:__pkg__"],
)
visibilityを書くことでmainの方から見えるように。
mainの方
cc_library(
name = "hello-get-name",
srcs = ["hello-get-name.cc"],
hdrs = ["hello-get-name.h"],
)
cc_binary(
name = "hello-robots",
srcs = ["hello-robots.cc"],
deps = [
":hello-get-name",
"//lib:hello-name",
],
)
depsにcc_binaryで使いたいlibraryのnameを記入する。
How to build and use
bazel build //main:hello-robots
bazel-bin/main/hello-robots
詳しくはgit参照。
コメント
ちゃっかりGitHubでびゅー笑