使用meson build我可以定义项目内的依赖项吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用meson build我可以定义项目内的依赖项吗?相关的知识,希望对你有一定的参考价值。

假设我在一个项目中构建目标A,B和C.在介子中,是否可以定义它们之间的依赖关系?

例如,如果依赖关系图如下所示:

A -> C
B -> C 

我怎么能用介子表达这个?

答案

是的,可以定义项目内依赖项。我在github.com上找到this test case来演示如何做到这一点。您还可以参考manual中有关依赖关系的部分。

假设我有一个定义两个目标的meson.build文件:

project('Demonstrate Dependencies', 'cpp')

subdir('src')
subdir('proj')

proj建立了一个src将依赖的库。然后proj/meson.build看起来像这样:

incdirs = include_directories('include')
proj_lib = static_library('proj', 'proj.c', include_directories : incdirs)

proj_dep = declare_dependency(
      include_directories : incdirs
    , link_with : proj)

src/meson.build看起来像:

exe = executable('proj_exe', 'main.c', dependencies : proj_dep)

以上是关于使用meson build我可以定义项目内的依赖项吗?的主要内容,如果未能解决你的问题,请参考以下文章

为 Meson Build 运行特定测试

meson+ninja build系统,使用meson & ninja 编译C工程

尽管源和依赖关系已过期,但 Meson custom_target 永远不会执行

工程化系列Meson编译系统使用方法

如何将多编译器参数添加到 meson.build

介子构建:手动添加可执行文件的依赖路径