|
|
5 years ago | |
|---|---|---|
| .. | ||
| assets | d947475b94 Z991239-1339 #comment 上传bk.bmp | 5 years ago |
| cmbsz | 94d0e6ae8a #IQRV #comment [DevAdapter] 修改适配器依赖库示例 | 5 years ago |
| cw | a96f7f2632 Z991239-1336 #comment other: 恒银源码 | 5 years ago |
| grg | 81e5c20d18 Z991239-1336 #comment other: 广电源码 | 5 years ago |
| gwi | 25844908f4 #IQRV #comment [Vendor] 上传长城代码 | 5 years ago |
| include | 41735986da #IQRV #comment 优化厂商错误码的打印 | 5 years ago |
| keba | 0fdcda468e Z991239-1436 #comment other:科堡代码 122901 | 5 years ago |
| nantian | 35bb08e142 Z991239-1336 #comment other: 南天源码 | 5 years ago |
| self | 1bdcb10158 #IQRV #comment [DevAdapter] 更改日志库的生成名称,避免与Release库有冲突 | 5 years ago |
| CHANGELOG | 1bdcb10158 #IQRV #comment [DevAdapter] 更改日志库的生成名称,避免与Release库有冲突 | 5 years ago |
| CMakeLists.txt | 0fdcda468e Z991239-1436 #comment other:科堡代码 122901 | 5 years ago |
| Readme.md | 13f4e2802d #IQRV #comment [Vendor] 更新历史记录 | 5 years ago |
版本:V1.0.0
最后更新日期:2020年12月8日19点39分
rvc_dev_target_install语句调用
RVC_INTEGRATE_BUILD判断
RVC_INTEGRATE_BUILD用于判断是否处于我行集成编译环境,厂商在编写 CMakeLists.txt 文件时,对于一些输出逻辑的声明等,可以通过 if(NOT RVC_INTEGRATE_BUILD)来添加自己的逻辑我行的源码管理工具不允许上传二进制库文件(主要是.so库),为更好的管理厂商提供的库文件,行内在编译之前会将厂商提供的几个文件夹:
剪切到他处进行管理,其他适配器工程文件夹和deps文件夹保持不变
所以厂商在引用上诉这些文件目录的路径时,务必请使用我们提供的宏,而不要使用相对路径,见路径引用请使用我们提供的宏,不要用.开头的相对路径,更不要使用绝对路径
不允许使用:
include_directories
link_directories
这种声明是全局生效的,会影响到其他工程目标的编译,请改用:
target_include_directories
target_link_directories
这种声明的作用范围是针对工程目标的
已声明在我行定义的rvc_dev_config_libraryCMake宏里,已经对当前工程目标引入了如下路径:
头文件目录
DevAdapter/include
DevAdapter/{厂商文件夹}/include
链接库目录
DevAdapter/lib/gcc_aarch64
DevAdapter/{厂商文件夹}/lib/gcc_aarch64
..开头的相对路径,更不要使用绝对路径行内提供的宏定义如下:
/DevAdapter/includervc_dev_config_library引入/DevAdapter/assets/DevAdapter/lib/gcc_aarch64/DevAdapter/bin/gcc_aarch64target_link_libraries使用/DevAdapter/{当前厂商目录}/deps/DevAdapter/{当前厂商目录}/includervc_dev_config_library引入/DevAdapter/{当前厂商目录}/assets/DevAdapter/{当前厂商目录}/lib/gcc_aarch64rvc_dev_config_library引入,安装时会拷贝到我行应用程序运行目录的dep文件夹下/DevAdapter/{当前厂商目录}/bin/gcc_aarch64厂商名称:厂商名称一旦确定,就不可更改
rvc_dev_define_module("{此处填写的适配器名称需注意}")
set(${MODULE_PREFIX}_VENDOR "{当前厂商名称}")
| 厂商 | 简称 |
|---|---|
| 科堡 | keba |
| 南天 | nantian |
| 广电 | grg |
| 恒银 | cw |
| 长城 | gwi |
厂商文件夹名称、适配器的Vendor字段请与如上表格保持一致。
下方是在某个适配器工程的CMakeLists.txt文件的一部分内容:问题详见注释处
set(INCLUDE_PINPAD ../../include
../include
../include/SDK
)
#1. ../../include:引用的我行头文件,已在rvc_dev_config_library引入,没必要
#2. ../include:引用当前厂商的头文件,(新增)已在rvc_dev_config_library引入,可废弃
#3. ../include/SDK:引用当前厂商的头文件的子目录,不能已.开头,务必使用:${VENDOR_CURRENT_INCLUDE_DIR}/SDK
set(${MODULE_PREFIX}_SRCS SHARED
${SRC_LIST}
)
include_directories(${INCLUDE_PINPAD})
#1.不能使用 include_directories,改用target_include_directories(${MODULE_FULL_NAME} ${INCLUDE_PINPAD}),当然,得在rvc_dev_config_library调用之后
link_directories(${DEVADAPTER_CURRENT_LIB_DIR})
link_directories(${VENDOR_CURRENT_LIB_DIR})
# 1. 两条路径均已在rvc_dev_config_library引入,没必要再单独引入
# 2. 不能使用 link_directories,改用 target_link_directories
其他注意事项请看模板内相关 CMakeLists.txt 的注释内容和编码规范文档
仅需提供厂商文件夹,无需提供整个DevAdapter文件夹
提供的厂商文件夹以厂商名称命名,而不是我行提供的Demo名称”cmbsz"
提供的内容注意去掉无关文件:生成的日志文件、CMake构建残留文件、有源码的适配器库生成文件或依赖库文件、我行提供的Demo(空文件夹也不允许,没用就删掉)
【新】厂商文件夹首层目录提供CHANGELOG文件,该文件需要记录几个重要元素:版本变更记录,提交日期,版本号等