在Meson中使用src /前缀所有源

时间:2019-03-30 07:40:58

标签: meson-build

相对于 meson.build 所在的项目根目录,我的所有源文件都位于src/下。

是否有可能在meson.build中指定这些源文件,而这在某种程度上是多余的,因此不会强迫我在所有文件前加上src/作为前缀?

3 个答案:

答案 0 :(得分:0)

您确实应该将meson.build文件放在src/中并在那里创建列表。

答案 1 :(得分:0)

您实际上可以使用foreach statement“构建”文件数组:

raw_sources = [
    'foo.cpp',
    'foomanager.cpp',
    'foofactory.cpp'
]
sources = []

foreach file : raw_sources
    full_path = join_paths('src', file)
    sources += files(full_path)
endforeach

现在 sources 包含具有所需前缀的文件。

答案 2 :(得分:0)

不需要前缀源文件,因为介子提供了特殊功能:files()会生成“记住”子目录的文件数组对象。例如,在根 meson.build 中,您可以拥有:

subdir('src')
subdir('src_more')
exe = executable('test', sources)

src / meson.build 中:

sources = files('a1.c', 'a2.c')

src_more / meson.build 中:

sources += files('b1.c', 'b2.c')