在介子中提供标头依赖关系



我在ubuntu 18.04上使用介子构建系统0.49.0。我的项目有一些idl文件,我想包括来自另一个文件夹的头文件。如何在介子中添加提供的include_directories

idl_compiler  = find_program('widl')
idl_generator = generator(idl_compiler,
output       : [ '@BASENAME@.h' ],
arguments    : [ '-h', '-o', '@OUTPUT@', '@INPUT@' ])
idl_files = [ .... ]
header_files = idl_generator.process(idl_files)

您可以将include目录直接添加到generator((参数:

idl_generator = generator(idl_compiler,
output       : '@BASENAME@.h',
arguments    : [ 
'-h',
'-o', '@OUTPUT@', 
'-I', '@0@/src/'.format(meson.current_source_dir()),
'@INPUT@' ])

我添加了-I选项,根据文档,该选项可以用于

将标头搜索目录添加到路径中。多个搜索目录允许。

并将介子的字符串格式与介子的对象方法current_source_dir((一起使用,

将字符串返回到当前源目录。

请注意,输出参数是字符串,而不是列表。

或者,例如,如果您有其中几个,并且以后需要将它们用作依赖项,则可以使用array:

my_inc_dirs = ['.', 'include/xxx', 'include']

为生成器生成参数:

idl_gen_args = [ '-h', '-o', '@OUTPUT@', '@INPUT@' ]
foreach dir : my_inc_dirs
idl_gen_args += ['-I', '@0@/@1@'.format(meson.current_source_dir(), dir)]
endforeach
idl_generator = generator(idl_compiler,
output       : '@BASENAME@.h',
arguments    : idl_gen_args)

并稍后用于依赖项:

my_exe = executable(
...
include_directories : [my_inc_dirs],
...)

相关内容

  • 没有找到相关文章

最新更新