CMake教程(一)——初步入门
介绍
CMake是个一个开源的跨平台自动化建构系统,用来管理软体建置的程序,并不依赖于某特定编译器,并可支援多层目录、多个应用程式与多个函式库。通过配置CMakeLists.txt,来生成构建档,这个构建档可以是Makefile,也可以是Ninja。
CMake为跨平台构建做出了很多贡献,你可以不对CMake做出修改,也能很好的在其他系统上构建运行,这使得它成为当代最受欢迎的C/C++构建系统。在Qt6中,被指定为默认的构建工具,而不是qmake。早在2020年,Visual Studio就开始支持CMake。在Clion中是默认的构建系统。
以下主要以Linux系统为例,但这些方法在Mac和Windows上也同样适用,熟悉自己系统命令行环境就可以轻松驾驭CMake。
工作机制
CMake有一大特色就是可以让项目编译构建在指定目录,而不是一定要在根目录。
绝大多数时候,CMake的项目工程里,你只需要这样构建:
mkdir build # 创建一个编译构建的指定目录
cd build # 打开该目录
cmake .. # ..是指上一层目录,也就是项目根目录,cmake会在这里寻找CMakeLists.txt文件
cmake --build . # 在build目录下编译链接
这样有个很大的好处,就是你可以在编译后如果发生了错误,想要重来,删除build文件夹就可以了,其他软件的构建工具也是这样设计的,例如Virual Studio。
构建完成后,你就会在build里找到你所需要的可执行程序。
当然,你也可以用其他易于理解的文件夹名,例如Build。
CMake还有非常丰富的配置功能,这样就不需要依赖IDE配置,可以随处编译运行。
安装
Ubuntu
sudo apt install cmake
openSUSE
sudo zypper install cmake
安装Ninja(可选)
Ubuntu
sudo apt install ninja-build
openSUSE
sudo zypper install ninja
详细使用,请参考下一篇文章CMake教程(二)——基本操作。
点击这里返回目录