我从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-config
或cmake
。
此外,添加外部依赖关系的正确方法是使用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