在Buck中,我如何使用genrule的输出作为cxx_library的标题?

时间:2017-01-11 16:29:22

标签: c++ buck

我有genrule使用专有工具生成C ++头文件。然后在cxx_library中使用标头。查看this presentation中的代码,我尝试了以下内容:

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

但是,genfile似乎已被弃用。我该怎么用?

1 个答案:

答案 0 :(得分:2)

您只需指定build targetgenrule代替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',
  },
  ...
)