我如何告诉介子在哪个目录中查找依赖项?
How can I tell meson in which directories to look for dependencies?
我从 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 中找到包,假设您在所述环境中安装了 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
这会将 path 添加到 pkg-config 搜索路径。
添加
spdlog = dependency('spdlog')
只要.pc文件在path
就会找到spdlog
我从 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 中找到包,假设您在所述环境中安装了 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
这会将 path 添加到 pkg-config 搜索路径。
添加
spdlog = dependency('spdlog')
只要.pc文件在path
就会找到spdlog