相对于 meson.build 所在的项目根目录,我的所有源文件都位于src/
下。
是否有可能在meson.build中指定这些源文件,而这在某种程度上是多余的,因此不会强迫我在所有文件前加上src/
作为前缀?
答案 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')