我刚刚开始使用cmake文件中的conan来下载和构建依赖关系--非常方便。我也尝试过将它用于Boost,但是用于boost的默认conanfile似乎并不构建我需要的boost python。我目前的设置如下:
conan_cmake_configure(REQUIRES
fmt/8.0.1
boost/1.75.0
eigen/3.4.0
GENERATORS cmake_find_package)
conan_cmake_autodetect(settings)
conan_cmake_install(PATH_OR_REFERENCE .
BUILD missing
REMOTE conancenter
SETTINGS ${settings})
find_package(Eigen3 REQUIRED)
find_package(Boost COMPONENTS Python) // Approx syntax
...这失败了,因为Boost python包不可用。我想我可以编辑conan_make_configures()命令以确保生成boost Python?
发布于 2022-02-13 12:16:23
您可以使用OPTIONS变量的conan_cmake_configure
conan_cmake_configure(REQUIRES
fmt/8.0.1
boost/1.75.0
eigen/3.4.0
GENERATORS cmake_find_package
OPTIONS boost:without_python=False
)请参阅:配置
您可以在:boost C/C++包- JFrog ConanCenter找到boost包的所有可用选项。
conanfile编辑1: conan与的使用
您还可以创建一个conanfile.txt来管理您的依赖关系:
[requires]
fmt/8.0.1
boost/1.75.0
eigen/3.4.0
[options]
boost:without_python=False
[generators]
cmake_find_package
cmake_paths并按以下方式调用conan_cmake_run:
conan_cmake_autodetect(settings)
conan_cmake_run(
CONANFILE conanfile.txt
BASIC_SETUP CMAKE_TARGETS
BUILD missing
SETTINGS ${settings}
)https://stackoverflow.com/questions/71091306
复制相似问题