Как разрешить угол & lt; & gt; & quot; скобки при включении Bazel заголовка?

Мой проект переходит на Базэл от CMake и я в том числе снимок спускаться с крутизны на веревке проверив это в third_party/ каталог верхнего уровня в нашем репозитории. Мне нужно поддерживать обе системы сборки во время перехода, поэтому я создал CMakeLists.txt файлы и заметил, что для компиляции заголовков Abseil необходимо отключить довольно много предупреждений.

Для CMake это нормально, потому что я могу включить заголовки, где я их использую, используя #include <absl/strings/str_cat.h> синтаксис. Это говорит моему компилятору, что это системный заголовок, и игнорировать предупреждения, поэтому мне не нужно отключать их глобально.

Для Базеля, однако, я получаю эту ошибку:

ошибка: файл ‘absl / strings / str_cat.h’ не найден с помощью include; используйте вместо этого «цитаты»

Есть ли способ сказать Базел, чтобы позволить <>Стиль включает? Есть ли другой способ отключить предупреждения только для этих заголовков, не отключая их для всего проекта?

1

Решение

По умолчанию bazel не генерирует никаких специфичных для cc-библиотек include (-I) флаги каталогов для действий компиляции. Поскольку включение поиска не является бесплатным, мы полагаемся на иерархию заголовков с единым корнем. Но вы можете сказать Bazel, чтобы добавить пользовательские каталоги включения с помощью includes на данный cc_library, Или, предпочтительно, использовать strip_include_prefix а также include_prefix.

0

Другие решения

Других решений пока нет …