我们目前的项目结构如下:
thirdparty(ws_root)
|_WORKSPACE
|_comp1
| |_BUILD
| |_src
| |_ a.c
| |_include
| |_ a.h
|_comp2
| |_BUILD
| |_src
| |_ b.c
| |_include
| |_ b.h
|_inc
| |_comp1
| |_a.h
| |_comp2
| |_b.h
a.c的内容:
#include <comp1/a.h>
使用我们当前的构建系统, thirdparty / comp1 / include / a.h 下的头文件将使用以下路径暂存:
thirdparty/inc/comp1/a.h
此处 thirdparty / inc 文件夹是一个全局位置,工作区中的所有头文件都在相应的组件下暂存。
我想知道Bazel是否提供了一种机制,我们可以通过这种机制以类似的方式对头文件进行分级。
答案 0 :(得分:0)
我不确定我是否理解,&#34;全球定位&#34;你的意思是每个库中的文件夹(Bazel意义上的库,你可以称之为组件或包)?这是我从例子中理解的。如果是这种情况,并且每个图书馆只为其所有家属提供-isystem
包含,则可以在bazel中查找includes attribute。