cmake简介及基本使用说明
CMAKE是一个开源、跨平台的编译、测试和打包工具,它使用比较简单的语言描述编译、安装的过程,输出Makefile或者project文件,再去执行构建。
在linux环境下编写C++程序是没有类似windows下编译器的一键编译和运行的按钮,只能由开发人员进行手动编译、运行;当多人协同开发一个较大的项目时,会产生较多的源代码文件,因此需要说明编译的顺序,例如需要先编译什么 ,再编译什么,这个过程称之为构建(Build);为了减免这种繁琐而且复杂的劳动力,出现了make工具及makefile文件,makefile文件可以帮助我们很快的编译大量文件,最终形成可执行文件;但是编写Makefile文件的语法较为复杂,尤其是对于大型的复杂项目,编写Makefile的过程则更为困难。
而Cmake为我们提供了一套简洁的语法去定义构建的流程,CMake定义构建过程的文件称为CMakeLists.txt。在使用IDE进行开发的过程中,这个流程一般是由IDE自动完成的,开发者基本不需要干预,但是如果开发者需要控制构建的细节,则需要自己定义构建过程。
cmake 在执行时,会生产大量临时文件,如果直接在代码根目录执行cmake .命令,相信会看到比代码本身更多的临时文件。所有的临时文件直接出现在代码源文件夹,非常的不美观,而解决这种情况,一般的操作是外部构建。
外部构建,通过在源文件夹外创建一个新的用于放置编译中间文件的文件夹,所有生成的工程管理临时文件、编译临时文件、编译最终生成文件都在该文件夹中。 一般情况下外部构建的操作如下:
mkdir build # 创建一个新文件夹
cd ./build # 进入该文件夹路径(源代码目录在和build同级)
cmake .. # 构建工程管理临时文件
make # 编译 (如果只是为了创建index,可使用--just-print)
make install # 安装编译好的工程到指定路径
所有的临时文件都放置的在 build 文件夹中,如果需要调整,直接将 build 删除即可。对于版本管理工具git来讲,可以直接在.gitignore文件中加入一行build/以屏蔽对 build 文件夹的版本控制。build 文件夹内生成的文件如下图所示。
CMake之Option使用简介_cmake option_奔跑的码仔的博客-CSDN博客
HELLO CMAKE-内部构建、外部构建 - 掘金
CMake 是怎么工作的? - 知乎
使用clion阅读编辑linux源码 - 知乎
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了