Поддерживает ли Buck заголовки с тем же именем, что и папки?
Я пытаюсь построить Eigen с доллар. К сожалению, 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?
1 ответ
Решение
Папка src должна быть частью экспорта, попробуйте это:
prebuilt_cxx_library(
name = 'eigen',
header_only = True,
header_namespace = 'Eigen',
exported_headers = subdir_glob([
('Eigen', '*'),
('Eigen', 'src/**/*.h'),
]),
visibility = [
'PUBLIC',
],
)