Conan 是一个去中心化、开源的 C/C++ 包管理器。适用于所有平台,包括 Linux、macOS、Windows、Solaris、FreeBSD、Docker、WSL 等。它可以为任何配置和平台创建、上传和下载二进制文件, 甚至交叉编译,节省大量的开发和持续集成时间。
Conan 1.55 正式发布,更新内容如下:
特性:
- 为 AutotoolsToolchain 增加前缀参数
- 新的
NMakeDeps
生成器 - 通过
layouts.xxx.buildenv_info
和layouts.xxx.runenv_info
实现editable
环境变量 - 在 settings.yml 中添加 gcc 12.1 和 12.2
- 增加
tools.build:compiler_executables
配置,以便在 CMakeToolchain、MesonToolchain 和 AutoToolsToolchain 中设置编译器变量 - 允许在 EnvVars 中使用占位符
- 新的 NMakeToolchain
- 在 CMakeToolchain 中的 PKG_CONFIG_PATH 环境变量中添加了生成器文件夹
- 确保 CMakeToolchain 将强制使用 tools.gnu:pkg_config 配置中设置的 pkg-config 可执行文件
- 在 CMake build helper configure 方法中增加 cli_args 参数
- 在 Autotools.install() 方法中添加目标参数
- 增加
XCRun().settings
的读取属性 - 自动将
bash.exe
所在的 msys2usr/bin
文件夹添加到 PATH 中 - 添加 tools.meson.mesontoolchain:extra_machine_files=["FILENAMES"] 到 Meson build helper 中,以便在 Conan 创建的文件中添加机器文件
- 在 CMakeToolchain 中添加 .user_presets_path 属性,以自定义 CMakeUserPresets.json 的位置或跳过生成它
修复
- 如果
settings.compiler
没有为MesonToolchain
定义,则会引发一个明确的错误 - 修复 cmake.test() 的 runenv
- 删除 CMakeToolchain 中 CMAKE_CXX_COMPILER 的硬编码定义
- 删除默认 build_type 编译器标志中多余的
-s
- 在 Autotools build helper 中,优先考虑用户在配方中设置的 -j 参数,而不是 conan 的默认设置
- 不要在 Bazel BUILD 文件中包括构建环境的依赖
- 如果一个软件包被要求从给定配置的源码构建,则不要回退到一个兼容的二进制文件
- 修复可编辑模式下
MSBuildDeps
的package_folder=None
时的问题
更多详情可查看:https://docs.conan.io/en/latest/changelog.html