bazel WORKSPACE файл для внешнего хранилища приводит к отсутствию #include - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь настроить файл рабочей области для проекта, который использует googletest.Я следую инструкциям: https://docs.bazel.build/versions/master/cpp-use-cases.html#including-external-libraries.

У меня есть файл WORKSPACE, который выглядит следующим образом:

new_http_archive(
    name = "gtest",
    url = "https://github.com/google/googletest/archive/release-1.7.0.zip",
    sha256 = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0",
    build_file = "gtest.BUILD",
    strip_prefix = "googletest-release-1.7.0",
)

У меня есть файл BUILD, который выглядит следующим образом:

COPTS = [
    "-I/usr/local/include",
    "-Iexternal/gtest/include",
    "-Wno-sign-compare",
]

cc_test(
    name = "gaussian_test",
    srcs = ["gaussian_test.cc"],
    copts = COPTS,
    deps = [
        "//:boom",
        "//:boom_test_utils",
        "@gtest//:main",
        ],
)

Раздел #include моего файла gaussian_test.cc содержит строку:

#include "gtest/gtest.h"

Когда я пытаюсь запустить тест, я получаю

Models/tests/gaussian_test.cc:1:10: fatal error: gtest/gtest.h: No such file or directory
 #include "gtest/gtest.h"

в моем основном репозиторииЯ решаю эту проблему, вручную устанавливая googletest в / usr / local, но я ищу более портативное решение, а также пытаюсь устранить фундаментальное недоразумение, которое, как мне кажется, я имею в отношении работы файла WORKSPACE.Спасибо.

1 Ответ

0 голосов
/ 23 ноября 2018

Отсутствующей частью моего вопроса был файл gtest-BUILD, в котором содержалась информация о недостающем пути.

...