如何告诉介子在哪些目录中查找依赖项



我从CMake来到meson。我喜欢使用conda在孤立的环境中工作。通过这种方式,我可以控制为每个项目安装哪些包。

现在,在cmake中,我会传递-DCMAKE_FIND_ROOT_PATH=$CONDA_PREFIX,以便在不同的目录(在我的情况下是conda-env(上根目录搜索过程

所以我的问题是如何在meson上实现同样的效果?

这是我的小型meson.build供参考:

project('foo', 'cpp')
cpp = meson.get_compiler('cpp')
spdlog = cpp.find_library('spdlog')
executable('foo',
'src/fact.cpp',
dependencies : [spdlog])

meson足够聪明,可以在conda-env中找到包,假设您在所述env中安装了pkg-configcmake

此外,添加外部依赖关系的正确方法是使用dependency('spdlog')而不是find_library

因此,固定的meson.build应该看起来像:

project('foo', 'cpp')
spdlog = dependency('spdlog')
executable('foo',
'src/fact.cpp',
dependencies : [spdlog])

介子接收参数

--pkg-config-path path

这将在pkg配置搜索路径中添加路径

添加

spdlog = dependency('spdlog')

只要.pc文件在路径中,就会找到spdlog

最新更新