这是我的项目结构:

.
├── 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 依赖于 abcfoo
  • src/ghi/meson.build 定义了一个依赖于ghi
  • 的静态库bar
  • vendor/bar/meson.build 定义了一个静态库 bar
  • vendor/foo/meson.build 定义了一个静态库 foo
  • 顶层 meson.build 定义了一个可执行的 app 依赖于 abcdefghi

  • 在文档中,似乎有两种机制:
  • subdir
  • subproject

  • 我不清楚这里哪个最好。我的源代码之外没有任何依赖项。

    我应该在我的 meson.build 文件中写什么来将这些目标链接在一起?

    最佳答案

    您可以从顶级 subdir 文件向下使用 meson.build。您在子目录 meson.build 文件中声明的所有变量都可用于以后的 meson.build 文件。只要你得到正确的 subdir 调用顺序,它就会工作。

    关于c++ - 依赖子目录兄弟的介子目标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55107396/

    10-10 22:48