在 Buck 中,如何将 genrule 的输出用作 header 的 cxx_library?
In Buck, how do I used the output of a genrule as a header for a cxx_library?
我有一个 genrule
可以使用专有工具生成 C++ header-file。然后在 cxx_library
中使用 header。查看 this presentation 中的代码,我尝试了以下操作:
cxx_library(
name = 'my-library',
srcs = glob(['src/**/*.cpp']),
exported_headers = {
'my_header.h': genfile('my-header.h'),
},
...
但是,genfile
似乎已被弃用。我应该改用什么?
您只需指定 build target of the 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',
},
...
)
我有一个 genrule
可以使用专有工具生成 C++ header-file。然后在 cxx_library
中使用 header。查看 this presentation 中的代码,我尝试了以下操作:
cxx_library(
name = 'my-library',
srcs = glob(['src/**/*.cpp']),
exported_headers = {
'my_header.h': genfile('my-header.h'),
},
...
但是,genfile
似乎已被弃用。我应该改用什么?
您只需指定 build target of the 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',
},
...
)