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)
分类:
单片机FreeRTOS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-05-25 64位 长整形赋值给 8位char 类型出现的问题
2021-05-25 开源语音代码eSpeak1.06 的学习入门