Skip to content

Commit 7cde89c

Browse files
committed
同步 cmake-kernel
Signed-off-by: KehRoche <kehroche@gmail.com>
1 parent bc0392a commit 7cde89c

File tree

1 file changed

+58
-26
lines changed

1 file changed

+58
-26
lines changed

README.md

Lines changed: 58 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,55 +6,87 @@
66

77
## 本分支新增特性
88

9-
基本的构建体系与辅助脚本,包括
9+
参考 [MRNIU/cmake-kernel](https://github.com/MRNIU/cmake-kernel) 的构建系统,包括以下特性
1010

11-
- 对不同体系结构的支持
11+
- [x] 对第三方依赖的支持/构建
1212

13-
目前支持 x86_64,aarch64,riscv64 三种架构
13+
自动下载并编译第三方依赖
1414

15-
支持在 qemu 平台上运行
15+
自动生成相关 licence
1616

17-
支持在 x86_64 架构的 osx、win(wsl)、linux(ubuntu) 上编译运行
17+
目前支持的第三方资源
1818

19-
- 对 uefi 与 opensbi 的支持
19+
| 第三方内容 | 描述 | 类型 | 正在使用 |
20+
| :----------------------------------------------------------: | :-------------------------------------------: | :----------: | :------: |
21+
| [CPM](https://github.com/cpm-cmake/CPM.cmake) | cmake 包管理 | cmake module ||
22+
| [CPMLicences.cmake](https://github.com/TheLartians/CPMLicenses.cmake) | 为第三方包生成 licence | cmake module ||
23+
| [google/googletest](https://github.com/google/googletest) | 测试 |||
24+
| [easylogingpp](https://github.com/amrayn/easyloggingpp) | 日志 || |
25+
| [rttr](https://github.com/rttrorg/rttr) | c++ 反射库,在设备驱动部分用 || |
26+
| [Format.cmake](https://github.com/TheLartians/Format.cmake) | 代码格式化,支持 clang-format 与 cmake-format | cmake module | |
27+
| [FreeImage](http://freeimage.sourceforge.net/) | 图片渲染 || |
28+
| [Freetype](https://www.freetype.org/) | 字体渲染 || |
29+
| [opensbi](https://github.com/riscv-software-src/opensbi) | riscv 引导 |||
30+
| [gnu-efi](https://sourceforge.net/projects/gnu-efi/) | gnu uefi 引导 |||
31+
| [ovmf](SimpleKernel/3rd/ovmf) | qemu 使用的 uefi 固件 | bin ||
32+
| [edk2](https://github.com/tianocore/edk2) | 构建 qemu 使用的 uefi 固件 ovmf || |
33+
| [libcxxrt](https://github.com/libcxxrt/libcxxrt) | c++ 运行时支持 |||
2034

21-
x86_64 与 aarch64 架构通过 uefi 进行引导
35+
- [x] 文档生成
2236

23-
riscv64 通过 opensbi 进行引导
37+
使用 doxygen 从生成文档
2438

25-
- 对 qemu 的支持
39+
- [x] 构建内核
2640

27-
通过 qemu 进行模拟
41+
生成内核 elf 文件
2842

29-
- 对使用 qemu gdb 进行调试的支持
43+
- [x] 运行内核
3044

31-
通过生成内核调试符号、向 qemu 传递正确的参数,达到使用 gdb 进行调试,观察内核的目标
45+
qemu 上运行内核
3246

33-
- 对 clion 的支持
47+
- [x] 代码格式化
3448

35-
clion 的配置文件与用法
49+
格式化全部代码
3650

37-
- 对第三方代码的支持
51+
- [x] 测试
3852

39-
用到的第三方库的自动下载、编译
53+
单元测试 集成测试 系统测试
4054

41-
- 对项目的约束
55+
- [x] CI
4256

43-
代码规范、commit 规范
57+
github action、codecov
4458

45-
编译参数的确定
59+
- [x] 调试
4660

47-
- 汇总到 config.cmake
61+
使用 make debug 等进入调试模式
4862

4963
从系统启动到进入内核
5064

5165
- x86_64,aarch64 通过 uefi 进行引导
52-
- riscvf64 通过 opensbi 进行引导
66+
- riscv64 通过 opensbi 进行引导
5367

5468
## 已支持的全部特性
5569

56-
- poxix-uefi
57-
- gnu-efi
58-
- x86_64
59-
- aarch64
60-
- uefi
70+
- [x] build
71+
72+
内核构建与调试
73+
74+
- [x] doxygen
75+
76+
基于 doxygen 的文档生成
77+
78+
- [x] CI
79+
80+
github action,github pages,code coverage,ut it st
81+
82+
- [x] x86_64
83+
84+
基于 gnu-efi 的 x86_64 uefi 引导
85+
86+
- [x] riscv64
87+
88+
基于 opensbi 的 riscv64 架构支持
89+
90+
- [x] 3rd
91+
92+
对依赖的第三方库的自动下载、编译

0 commit comments

Comments
 (0)