同步操作将从 OpenHarmony-SIG/tpc_c_cplusplus 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
lycium是一款协助开发者通过shell语言实现C/C++三方库快速交叉编译,并在OpenHarmony 系统上快速验证的编译框架工具。开发者只需要设置对应C/C++三方库的编译方式以及编译参数,通过lycium就能快速的构建出能在OpenHarmony 系统运行的二进制文件。
移植过程,不可以改源码(即不patchc/cpp文件,不patch构建脚本)。如移植必须patch,patch必须评审,给出充分理由。(不接受业务patch)
lycium
├── doc # lycium工具相关说明文档
├── Buildtools # 存放编译环境准备说明
├── CItools # 测试环境搭建相关说明文档
├── script # 项目依赖的脚本
├── template # thirdparty 目录中库的构建/测试模板
├── build.sh # 顶层构建脚本
├── test.sh # 顶层测试脚本
lycium框架提供了HPKBUILD文件供开发者对相应的C/C++三方库的编译配置。具体方法:
配置完三方库的编译方式参数后,在lycium目录执行./build.sh pkgname,进行自动编译三方库,并打包安装到当前目录的 usr/$pkgname/$ARCH 目录
./build.sh # 默认编译 thirdparty 目录下的多有库
./build.sh aaa bbb ccc ... # 编译 thirdparty 目录下指定的 aaa bbb ccc ...库 当 aaa 库存在依赖时,必须保证入参中包含依赖,否则 aaa 库不会编译
lycium框架是通过linux shell脚本语言编写的,如果对shell语言不熟悉的开发者可以先学习Linux Shell编程基础教程。或者查找其他linux shell编程资料
业界内C/C++三方库测试框架多种多样,我们无法将其统一,因此为了保证原生库功能完整,我们基于原生库的测试用例进行测试验证。为此,我们需要集成了一套可以在OH环境上进行cmake, ctest等操作的环境,具体请阅读 lycium CItools。
lycium框架提供了HPKCHECK文件供开发者对相应的C/C++三方库的自动化测试,开发者只需在脚本中配置当前三方库需要测试的命令即可。
由于我们运行的是原生库的测试用例,因此我们需要将原生库的源码及生成文件都作为测试资源打包到开发板进行测试(直接将tpc_c_cplusplus直接打包成一个测试资源,并且保证测试资源在开发板的测试路径与编译路径保持一致,避免部分原生库因编译时对测试文件配置了路径而导致测试不过),然后在lycium目录下执行脚本./test.sh,自动运行thridparty目录下已编译的三方库,并在终端显示已测试三方库总数以及通过和未通过的三方库。
./test.sh # 默认测试 thirdparty 目录下的所有已编译的三方库
./test.sh aaa bbb ccc ... # 测试 thirdparty 目录下指定的 aaa bbb ccc ...库 当指定的库未编译时不会进行测试
支持同一个库,不同版本的编译 1.库的依赖也可添加依赖的版本,实际版本大于等于依赖时,才可以编译
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。