Поддерживает ли Buck заголовки с тем же именем, что и папки?

Я пытаюсь построить Эйген с . К сожалению, Eigen имеет необычную структуру заголовков:

Eigen/src/Cholesky/LLT.h
Eigen/src/Cholesky/LDLT.h
Eigen/src/Cholesky/...
Eigen/src/...
Eigen/Array
Eigen/Cholesky
Eigen/Core
Eigen/...
...

Вы можете просматривать репо на GitHub.

Мне нужно включить Eigen/Cholesky а также Eigen/Cholesky/LLT.h в экспортированных заголовках, но Бак считает это конфликтом:

prebuilt_cxx_library(
name = 'eigen',
header_only = True,
header_namespace = 'Eigen',
exported_headers = subdir_glob([
('Eigen', '*'),
('Eigen/src', '**/*.h'),
]),
visibility = [
'PUBLIC',
],
)

java.nio.file.FileAlreadyExistsException: … / eigen / buck-out / gen / eigen # default, заголовки / Eigen / Cholesky

Как я могу иметь папки и файлы с тем же именем, что и экспортируемые заголовки в Buck?

2

Решение

папка src должна быть частью экспорта, попробуйте это:

prebuilt_cxx_library(
name = 'eigen',
header_only = True,
header_namespace = 'Eigen',
exported_headers = subdir_glob([
('Eigen', '*'),
('Eigen', 'src/**/*.h'),
]),
visibility = [
'PUBLIC',
],
)
3

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

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

По вопросам рекламы [email protected]