Вот моя структура проекта:
.
├── 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
файлах, чтобы связать эти цели вместе?