答案 0 :(得分:1)
Buckaroo Wiki Page提到了该过程:
首先,运行buckaroo init
来生成.buckconfig
和buckaroo_macros.bzl
。
然后,您将需要编辑两个文件:
BUCK
-它描述了构建
buckaroo.toml
-描述您的外部依赖项
降压:
以下BUCK
文件打包了标题,以便可以通过#include <foo/*.hpp>
包含每个文件:
cxx_library(
name = 'foo',
header_namespace = '',
exported_headers = glob(['foo/*.hpp']),
visibility = ['PUBLIC'],
)
这等效于:
cxx_library(
name = 'foo',
header_namespace = '',
exported_headers = {
'foo/foo.hpp': 'foo/foo.hpp',
'foo/bar.hpp': 'foo/bar.hpp',
},
visibility = ['PUBLIC'],
)
此映射描述了#include <a/b/c.h>
中定义的路径如何映射到文件系统中的实际文件。由于包含路径与文件系统布局相同,因此键和值相同。
buckaroo.toml
为了使安装包对消费者方便,建议在buckaroo.toml
targets = [ "//:foo" ]
如果您具有外部依赖项,则可能要通过以下方式安装它们
buckaroo add URL@VERSION
并在您的BUCK
文件中连接依赖项:
load('//:buckaroo_macros.bzl', 'buckaroo_deps')
cxx_library(
name = 'foo',
// ...
deps = buckaroo_deps(),
visibility = ['PUBLIC'],
)