如何允许角度"<>"包含Bazel标题时的括号?

时间:2017-09-30 00:33:55

标签: c++ bazel abseil

我的项目正在从Bazel过渡到CMake,我将Abseil的快照包含在我们的存储库中的third_party/顶级目录中。我需要在转换期间支持这两个构建系统,所以我创建了CMakeLists.txt个文件,并注意到需要禁用相当多的警告才能编译Abseil头。

对于CMake,这没关系,因为我可以使用#include <absl/strings/str_cat.h>语法包含我使用它们的标题。这告诉我的编译器它是一个系统头并忽略警告,所以我不必全局禁用它们。

对于Bazel来说,我收到了这个错误:

  

错误:&#39; absl / strings / str_cat.h&#39;找不到包含的文件;使用&#34;报价&#34;代替

有没有办法告诉Bazel允许<>式的包含?是否有另一种方法可以为这些标题禁用警告而不禁用整个项目?

1 个答案:

答案 0 :(得分:0)

默认情况下,bazel不会为编译操作发出任何特定于cc库的include(-I)目录标志。由于包含查找不是免费的,因此我们依赖于单个根的头层次结构。但是你可以告诉bazel在给定cc_library上使用includes添加自定义包含目录。或者,最好使用strip_include_prefixinclude_prefix