cmake 文件结构

1.  cmake 的作用是生成 makefile  文件,因为makefile 比较麻烦,那么写完cmake 然后用工具生成 makefile

2.  我理解的 一个 cmake文件对应一个模块,  有5个半 的部分组成,分别是

(1) 编译设置

(2)需要头文件路径

(3)需要的 C 文件

(4)需要的其他模块功能,cmake 的思路就是模块

(5)当前 cmake 的下一级文件夹里面的cmake,也就是子模块

 

3. 编译设置

set(target kernel)  // 设置一个模块,target = kernel, kernel 就是这个模块
add_library(${target} STATIC)  // 把这个模块编译成静态库
set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${out_lib_dir})  // 设置模块的属性,属性是编译输出放的位置
target_compile_definitions(${target} PRIVATE OSI_LOG_TAG=LOG_TAG_KERNEL) // 不太清楚
 
4. 需要头文件路径,这个模块需要的所有头文件的路径
target_include_directories(${target} PRIVATE lwip/include)
 
 
5. 需要的C 文件
target_sources(${target} PRIVATE
    src/netif_gprs.c
    src/lwipports.c
    src/lwip_data_event.c
    )
 
6. 需要的其他模块
target_include_targets_if(CONFIG_NET_CTIOTSM_SUPPORT THEN ${target} PRIVATE ctiotsm)
 
7. 当前模块里面的子模块,同时下面的mupnp 也是当前文件的下一级文件,同时mupnp 也是一个单独的模块有自己的cmake 文件
add_subdirectory_if(CONFIG_MUPNP_LIB_SUPPORT THEN mupnp)
 
posted @ 2023-05-25 17:52  429512065  阅读(122)  评论(0编辑  收藏  举报