在介子中提供 header 依赖
Providing header dependency in meson
我在 ubuntu 18.04
上使用介子构建系统 0.49.0
。我的项目有一些 idl 文件,我想包含另一个文件夹中的 header 文件。如何在 meson.
中添加 provide 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)
您可以将包含目录直接添加到 generator() 参数:
idl_generator = generator(idl_compiler,
output : '@BASENAME@.h',
arguments : [
'-h',
'-o', '@OUTPUT@',
'-I', '@0@/src/'.format(meson.current_source_dir()),
'@INPUT@' ])
我添加了 -I 选项,根据 docs 可用于
Add a header search directory to path. Multiple search directories are
allowed.
并使用了介子的 string formatting together with meson's object method current_source_dir() 其中
returns a string to the current source directory.
还要注意 output 参数是字符串,而不是列表。
或者,例如,如果您有多个它们并且以后需要将它们用作依赖项,您可以使用数组:
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],
...)
我在 ubuntu 18.04
上使用介子构建系统 0.49.0
。我的项目有一些 idl 文件,我想包含另一个文件夹中的 header 文件。如何在 meson.
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)
您可以将包含目录直接添加到 generator() 参数:
idl_generator = generator(idl_compiler,
output : '@BASENAME@.h',
arguments : [
'-h',
'-o', '@OUTPUT@',
'-I', '@0@/src/'.format(meson.current_source_dir()),
'@INPUT@' ])
我添加了 -I 选项,根据 docs 可用于
Add a header search directory to path. Multiple search directories are allowed.
并使用了介子的 string formatting together with meson's object method current_source_dir() 其中
returns a string to the current source directory.
还要注意 output 参数是字符串,而不是列表。
或者,例如,如果您有多个它们并且以后需要将它们用作依赖项,您可以使用数组:
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],
...)