如何构建依赖于另一个子项目的子项目

时间:2021-04-13 01:48:18

标签: build dependency-management meson-build

我正在从 Madagascar 移植一组相互依赖的 API。由于我这样做是为了在我的项目中使用,因此我将它们构建为主项目的子项目。但是,我无法构建依赖于 C api 的 C++ api。它说:

Neither a subproject directory nor a librsf.wrap file was found.

这很奇怪,因为我正在做 meson website 所说的:可能有一个依赖于另一个的子项目,但两者都必须在主子项目文件夹中(librsf 是 C api)。

我的项目目前是这样组织的:

include/
builddir/
subprojects/
-- librsf/
-- librsfpp/
meson.build

我的librsfpp meson.build如下:

project('librsfpp', 'cpp')

sources = ['cub.cc', 'rsf.cc']

incdir = include_directories('include')

librsf_proj = subproject('librsf')

librsf_dep = librsf_proj.get_variable('librsf_dep')

librsfpp = library('librsfpp',sources,
                   include_directories: incdir,
                   dependencies : [librsf_dep])

我可以使用 librsf 子项目作为主 meson.build 的依赖项,但不能在 librsfpp meson.build 中使用。

正确的构建方式是什么?

提前致谢。

0 个答案:

没有答案