Conan 1.29 已经发布。此版本没有包含任何主要的新功能,而是使现有功能更加完善和提高质量。

生成器更新

一些较新的 cpp_info 属性现在已添加到 QMakeQbs 生成器中,包括 cpp_info.system_libscpp_info.framework_pathscpp_info.frameworks。此外,json 生成器学会了如何从构建上下文中生成 user_info 数据。

cmake_find_packagecmake_find_package_multi 在之前的版本中都存在一些关于 cpp_info 的新 filenames 属性的错误。此外,cmake_multi 生成器中存在一个错误,导致它生成在有效条件下失败的 cmake 文件。这些错误都已修复。

新的 tools.rename 函数

在 Windows 上,许多用户报告了在某些 conanfile.py 上下文中使用 Python 的 os.rename 函数时出现间歇性问题。有时该函数会因权限错误而简单地失败。已经提供了许多解决方法,但在此版本中,我们合并了一个名为 tools.rename 的新 tools 函数,它使用更强大的机制来避免这些错误。

用于 GNU Make 的实验性工具链

在继续我们对 Conan 新工具链策略的工作中,此版本包含了一个适用于 Gnu Make 构建系统的工具链类。与之前添加的现有 CMake 工具链类似,这个新的工具链类为 Gnu Make 构建系统生成 .mak 文件,其中包含来自 Conan 的所有相关构建变量。澄清一下,这并不包括与依赖项相关的变量:这仍然是生成器的领域。

锁文件错误修复

我们还继续发展和改进围绕锁文件的体验。在此版本中,我们修复了一个错误,该错误导致某些包被错误地标记为已修改,以及另一个错误,该错误导致 Package_ID_Unknown 未正确更新。我们还添加了一条更有帮助的消息,用于在用户尝试从“基础”锁文件(这是不可能的)计算图形的 build_order 时。现在输出应该更有帮助了。



除了上面列出的项目之外,还有一些小的错误修复,您可能希望了解。如果是这样,请参阅 更改日志 以获取完整列表。

我们希望您喜欢此版本,并期待您的 反馈