一、CMake 简介
1.1 什么是CMake
在前面的文章中,我们介绍了C/C++ 项目编译工具 Makefile。虽然它实现了 C/C++ 项目编译的功能,但写起来真的是让人头大。尤其是当项目文件一多,手写依赖就像在搬砖,费时又费力。那么有没有更优雅的工具了呢?答案是:有!Cmake。
CMake 是一个跨平台的项目构建工具,通俗点说,它会帮你生成 Makefile 或其他编译系统需要的构建文件。
CMake 就像一个专业的项目管家,它会帮你处理所有琐碎的编译细节。你只需要告诉它“我要干什么”,剩下的事情交给它就行了。CMake还能很好的跨平台支持,能帮你生成各种平台的构建系统,比如 Makefile、Visual Studio 工程文件、Xcode 工程。
1.2 CMake 的特点
- 不用手写复杂的 Makefile:你只需要写一个简单的CMakeLists.txt,CMake 会自动帮你生成 Makefile。
- 支持跨平台开发:不管是 Linux、Windows 还是 MacOS,CMake 都能轻松搞定。
- 自动化依赖管理:只要源文件有改动,它会自动处理文件依赖,不用你手动维护。
- 支持大项目:几百上千(甚至更多)个源文件的项目,CMake 比你还细心,编译起来得心应手。
简单来说,CMake 就是中大项目的完美编译系统。
二、CMake 的基本使用流程
2.1 基本流程
CMake 的基本使用流程有几个简单步骤:
- 创建一个CMakeLists.txt 文件,告诉 CMake 要编译哪些源文件。
- 运行 CMake 命令,生成构建文件(比如 Makefile)。
- 用生成的构建文件编译项目,得到程序。
以下是CMake 与Makefile 的构建流程,让我们更直观地理解这些步骤:
|
|
我们的项目代码放在 / 目录下,使用 CMake 的流程如下:
|
|