Conan 1.29:多个生成器的更新、新的tools.rename函数、用于GNU Make的实验性工具链、锁文件错误修复
Conan 1.29 已经发布。此版本没有包含任何主要的新功能,而是使现有功能更加完善和提高质量。
生成器更新
一些较新的 cpp_info
属性现在已添加到 QMake
和 Qbs
生成器中,包括 cpp_info.system_libs
、cpp_info.framework_paths
和 cpp_info.frameworks
。此外,json
生成器学会了如何从构建上下文中生成 user_info
数据。
cmake_find_package
和 cmake_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
时。现在输出应该更有帮助了。
除了上面列出的项目之外,还有一些小的错误修复,您可能希望了解。如果是这样,请参阅 更改日志 以获取完整列表。
我们希望您喜欢此版本,并期待您的 反馈。