build2 0.17.0 发布说明

主要内容总结:

  • 新特性讨论:包含主要新特性的更详细讨论,如实现动机和使用示例,完整更改列表可参考Release Announcement或单个包中的NEWS文件。
  • 重点领域

    • 聚焦更复杂项目的高级功能,C++20 模块支持有显著改进,包括在 Clang 和 MSVC 中的import std;,文档方面有全面分步指南用于为build2打包第三方项目。
    • 此版本还有不少小特性,如新的buildfile值类型和函数(包括 JSON 支持),以及大量维护工作(处理各种边缘情况和修复 bug)。
  • 各部分详细内容

    • 基础设施(Infrastructure):新增多个 CI 配置,涵盖各种编译器和平台,移除了 Emscripten 配置,还新增了bindist类的配置,现在有 100 种构建配置。
    • 构建系统(Build System)

      • C++20 模块支持改进,build2更新以支持 Clang 和 MSVC 中的命名模块,Clang 的libc++和 MSVC STL 提供标准库模块,更新相关文档。
      • 新增 JSON buildfile值类型,有jsonjson_arrayjson_object等类型及相应函数,如$json.value_type()等,还介绍了多种创建json值的方式及访问组件的方法。
      • 增加集合和映射buildfile值类型,如string_setstring_mapjson_setjson_map等,以及相关函数,如$size()$keys()等,并说明了集合和映射的操作。
      • 新增多个buildfile函数家族,如字符串函数、路径函数、文件系统函数等。
      • 嵌入式开发支持改进,在build2中通过提供基本构建块和额外灵活性来支持嵌入式开发,以 CHERIoT 为例介绍了其构建模型和build2支持。
    • 包依赖管理器(Package Dependency Manager):新增与 CI 构建相关的包清单值,如build-botbuild-auxiliary,以 ODB 为例说明了其使用方法,可用于处理特殊需求和辅助配置。
    • 项目依赖管理器(Project Dependency Manager)new命令有多项改进,如third-party等子选项,用于将现有第三方项目转换为build2
阅读 9
0 条评论