2017-01-11 1 views
2

나는 독점적 인 도구를 사용하여 C++ 헤더 파일을 생성하는 genrule이 있습니다. 그 다음 헤더는 cxx_library에서 사용됩니다.Buck에서는 cxx_library의 헤더로 genrule의 출력을 어떻게 사용합니까?

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

그러나, genfile가 사용되지 않습니다 보인다 : this presentation의 코드를 보면, 나는 다음과 같은 노력했다. 대신 무엇을 사용해야합니까?

답변

2

genfile('my-header.h') 대신 의 build target을 지정하면됩니다.

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', 
    }, 
    ... 
)