在 subprojects
文件夹中创建 libfoobar.wrap
文件, 其中指定源码位置 [wrap-file]
和提供的依赖 [provide]
,格式参考 这里
对于非 meson-build 项目,还需要一个 meson.build
文件来添加支持,这个额外的文件称作 patch
, 这个额外配置文件可以从网络中下载获取(通过 patch_url
, 参考这里)
示例 subprojects/cache2.wrap
:
[wrap-file]
directory = Catch2-2.13.3
source_url = https://github.com/catchorg/Catch2/archive/v2.13.3.zip
source_filename = Catch2-2.13.3.zip
source_hash = 1804feb72bc15c0856b4a43aa586c661af9c3685a75973b6a8fc0b950c7cfd13
patch_directory = catch2
[provide]
catch2 = catch2_dep
自己编写的配置文件应该放在 subprojects/packagefiles/libfoobar/meson.build
中,并设置 patch_directory
示例 subprojects/packagefiles/cache2/meson.build
:
project('catch2',
'cpp',
version : '2.13.3',
license : 'Boost'
)
catch2_dep = declare_dependency(
include_directories : include_directories('single_include')
)