• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 编译测试案例
2
3-   [简介]
4-   [目录]
5-   [约束与限制]
6-   [说明]
7-   [相关问题说明]
8
9## 简介
10
11提供了一个基于cmake编译的框架,可编译不同平台的二进制文件
12
13根据客户的需求,编译生成对应的可执行程序和库文件。其编译流程为:
14
151.  使用python脚本进行配置cmake编译的参数
162.  python运行后会生成Makefile文件
173.  通过运行cmake --build .来执行编译的任务
18
19## 目录结构
20
21```
22.
23├── README.en.md
24├── README.md
25├── ndk-test
26│   ├── CMakeLists.txt           # ndk-test通过cmake构建的起点
27│   ├── build.py                 # 编译ndk-test的脚本
28│   └── src
29├── sanitize
30│   ├── CMakeLists.txt           # sanitize通过cmake构建的起点
31│   ├── asan
32│   ├── build.py                 # 编译sanitize的脚本
33│   ├── cfi
34│   ├── fuzz
35│   ├── scudo
36│   └── ubsan
37├── script                       # 编译放置的脚本
38│   ├── __pycache__
39│   ├── build.py                 # 编译的总脚本
40│   ├── config_args.py           # cmake编译需要的参数
41│   ├── runtest-sanitize.sh
42│   ├── runtest.sh
43│   └── runtest_Windows.bat      # 将编译生成的文件推送到板子上
44└── target                       # 存放目标文件
45    └── README.md
46```
47
48## 限制与约束
49
50-   需要下载NDK或者通过openharmony编译生成
51-   配置环境,详情请参照[gitee中的wiki文档](https://gitee.com/openharmony/third_party_musl/wikis/Home)
52
53## 说明
54
551.  总目录下全量编译的编译命令
56
57    ```
58    python build.py
59    ```
60
612.  对应的编译目录可单独编译
62
63    ```
64    # 子目录sanitize
65    python build.py
66    # 子目录ndk-test
67    python build.py
68    ```
69
703.  在板子上运行测试案例
71
72    ```
73    # 确定板子连接好电脑,运行脚本
74    runtest_Windows.bat
75    ```
76
774.  若以上步骤执行成功,脚本会产生一个REPORT和REPORT-SANITIZE文件,来分别记录ndk-test和sanitize测试案例运行的结果
78
79## 相关问题说明
80
81**对于cmake参数CMAKE_TOOCHAIN_FILE**
82-   指向的是工具链文件所在的位置,对于编译不同平台二进制文件是很重要的,所以要给定正确的路径
83
84
85