我从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])