C++ 如何告诉介子在哪个目录中查找依赖项?
我从C++ 如何告诉介子在哪个目录中查找依赖项?,c++,cmake,conda,build-system,meson-build,C++,Cmake,Conda,Build System,Meson Build,我从CMake到meson。 我喜欢在隔离的环境中使用conda。通过这种方式,我可以控制为每个项目安装哪些软件包 现在,在cmake中,我将传递-DCMAKE\u FIND\u ROOT\u PATH=$CONDA\u PREFIX,以便在不同的目录(在我的例子中是CONDA env)上创建搜索过程的根目录 所以我的问题是,我如何在介子上实现相同的效果 这是我的小型介子。构建供参考: 项目('foo','cpp') cpp=meson.get\u编译器('cpp') spdlog=cpp.fi
CMake
到meson
。
我喜欢在隔离的环境中使用conda
。通过这种方式,我可以控制为每个项目安装哪些软件包
现在,在cmake
中,我将传递-DCMAKE\u FIND\u ROOT\u PATH=$CONDA\u PREFIX
,以便在不同的目录(在我的例子中是CONDA env)上创建搜索过程的根目录
所以我的问题是,我如何在介子上实现相同的效果
这是我的小型介子。构建供参考:
项目('foo','cpp')
cpp=meson.get\u编译器('cpp')
spdlog=cpp.find_库('spdlog')
可执行文件('foo',
“src/fact.cpp”,
依赖项:[spdlog])
介子
足够聪明,可以在conda env中找到包,前提是您在所述env中安装了pkg config
或cmake
另外-添加外部依赖关系的正确方法是使用dependency('spdlog')
而不是find\u library
因此,固定的介子.build应该如下所示:
项目('foo','cpp')
spdlog=依赖项('spdlog')
可执行文件('foo',
“src/fact.cpp”,
依赖项:[spdlog])
介子接收参数
--pkg-config-path path
这将向pkg配置搜索路径添加路径
添加
spdlog = dependency('spdlog')
只要.pc文件在路径中,就会找到spdlog。应该注意,这不适用于每个conda
包,因为有些包不提供.pc
文件。