2017-01-11 14 views
2

У меня есть genrule, который генерирует заголовочный файл C++ с использованием проприетарного инструмента. Затем заголовок используется в cxx_library. Глядя на код из this presentation, я попытался следующие:В Buck, как я могу использовать вывод genrule в качестве заголовка для cxx_library?

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

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

ответ

2

Вы должны указать только build target из 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', 
    }, 
    ... 
)