В Buck, как я могу использовать вывод genrule в качестве заголовка для cxx_library?

у меня есть genrule который генерирует заголовочный файл C ++ с использованием проприетарного инструмента. Затем заголовок используется в cxx_library, Глядя на код из эта презентация, Я пробовал следующее:

cxx_library(
name = 'my-library',
srcs = glob(['src/**/*.cpp']),
exported_headers = {
'my_header.h': genfile('my-header.h'),
},
...

Тем не менее, кажется, что genfile был объявлен устаревшим Что я должен использовать вместо этого?

2

Решение

Вам просто нужно указать построить цель из genrule на месте genfile('my-header.h'),

genrule(
name='my-header',
cmd='some_command.py',
out='my-header.h',
)

cxx_library(
name = 'my-library',
srcs = glob(['src/**/*.cpp']),
exported_headers = {
'my_header.h': ':my-header',
},
...
)
2

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

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