CMake简介
CMake是一个开源、跨平台的工具,旨在构建、测试和打包软件,CMake可以使用简单的语句和编译配置文件来控制软件的编译过程。在这里主要介绍CMake语句、CMake的流程控制、内置变量、查看log
CMake语句主要有3类用法:
- 设置变量:set、file、list、find_library、aux_source_directory、generator expressions;
- 设置target:就是呀构建的目标是什么,语句有add_library、add_executable;
- 设置target的属性:包括add_definitions、target_link_libraries、link_directories、include_directories、target_include_directories;
一、设置变量的CMake语句
set语句:可以将一个或者多边值赋值给变量
set(SystemPath include/de/test/h);
set(SystemPath
include/de/test1/h
include/de/test2/h
include/de/test3/h
include/de/test4/h)
file:使用正则表达式来匹配文件,将文件路径赋值给第一个参数,通常和GLOB来一起使用
file(GLOB gemfield_SRC_list ${root}/*?*.cpp)
List:对list进行各种操作,第一个参数表示操作类型。
list(REMOVE_ITEM ......)
find_library:寻找一个库,将找到的库的绝对路径赋值给变量
find_library(libg_path lib.tt PATHS ${CUDA_TOOLKIT_ROOT_Dir}/lib32)
aux_source_directory:将指定目录中的所有文件名称存储在一个类型是list的集合变量中。
二、设置taget
Add_library :将名称为name参数的修改为一个Library
add_library(test SOURCES $(FileSources))
add_executable:使用指定的源文件来添加一个执行的工程
三、设置target属性
add_defintions:添加一个宏
target_link_libraries:添加编译lib库
target_link_libraries(test $(testLibes) name)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具