这是我的项目结构:
.
├── include
├── src
│ ├── abc
│ │ ├── include
│ │ └── src
│ ├── def
│ │ ├── include
│ │ └── src
│ └── ghi
│ ├── include
│ └── src
└── vendor
├── bar
│ ├── include
│ └── src
└── foo
16 directories
我想将我的构建移植到 Meson。但是,我不确定如何链接兄弟文件夹中定义的目标。
我的依赖图如下所示:
src/abc/meson.build
定义了一个静态库 abc
src/def/meson.build
定义了一个静态库 def
依赖于 abc
和 foo
src/ghi/meson.build
定义了一个依赖于ghi
bar
vendor/bar/meson.build
定义了一个静态库 bar
vendor/foo/meson.build
定义了一个静态库 foo
meson.build
定义了一个可执行的 app
依赖于 abc
、 def
和 ghi
在文档中,似乎有两种机制:
subdir
subproject
我不清楚这里哪个最好。我的源代码之外没有任何依赖项。
我应该在我的
meson.build
文件中写什么来将这些目标链接在一起? 最佳答案
您可以从顶级 subdir
文件向下使用 meson.build
。您在子目录 meson.build
文件中声明的所有变量都可用于以后的 meson.build
文件。只要你得到正确的 subdir
调用顺序,它就会工作。
关于c++ - 依赖子目录兄弟的介子目标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55107396/