主要内容总结:
- 新特性讨论:包含主要新特性的更详细讨论,如实现动机和使用示例,完整更改列表可参考Release Announcement或单个包中的
NEWS
文件。 重点领域:
- 聚焦更复杂项目的高级功能,C++20 模块支持有显著改进,包括在 Clang 和 MSVC 中的
import std;
,文档方面有全面分步指南用于为build2
打包第三方项目。 - 此版本还有不少小特性,如新的
buildfile
值类型和函数(包括 JSON 支持),以及大量维护工作(处理各种边缘情况和修复 bug)。
- 聚焦更复杂项目的高级功能,C++20 模块支持有显著改进,包括在 Clang 和 MSVC 中的
各部分详细内容:
- 基础设施(Infrastructure):新增多个 CI 配置,涵盖各种编译器和平台,移除了 Emscripten 配置,还新增了
bindist
类的配置,现在有 100 种构建配置。 构建系统(Build System):
- C++20 模块支持改进,
build2
更新以支持 Clang 和 MSVC 中的命名模块,Clang 的libc++
和 MSVC STL 提供标准库模块,更新相关文档。 - 新增 JSON
buildfile
值类型,有json
、json_array
、json_object
等类型及相应函数,如$json.value_type()
等,还介绍了多种创建json
值的方式及访问组件的方法。 - 增加集合和映射
buildfile
值类型,如string_set
、string_map
、json_set
、json_map
等,以及相关函数,如$size()
、$keys()
等,并说明了集合和映射的操作。 - 新增多个
buildfile
函数家族,如字符串函数、路径函数、文件系统函数等。 - 嵌入式开发支持改进,在
build2
中通过提供基本构建块和额外灵活性来支持嵌入式开发,以 CHERIoT 为例介绍了其构建模型和build2
支持。
- C++20 模块支持改进,
- 包依赖管理器(Package Dependency Manager):新增与 CI 构建相关的包清单值,如
build-bot
和build-auxiliary
,以 ODB 为例说明了其使用方法,可用于处理特殊需求和辅助配置。 - 项目依赖管理器(Project Dependency Manager):
new
命令有多项改进,如third-party
等子选项,用于将现有第三方项目转换为build2
。
- 基础设施(Infrastructure):新增多个 CI 配置,涵盖各种编译器和平台,移除了 Emscripten 配置,还新增了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。