CMake基础:安装与配置
CMake是一款跨平台的开源构建工具,支持多种操作系统和平台。主要支持Linux(Ubuntu、CentOS等)、Windows、macOS等桌面和服务器系统,以及嵌入式Linux、RTOS、Android/iOS等嵌入式系统。CMake还提供交叉编译能力,支持ARM、MIPS等架构。安装方式包括包管理器安装(apt/yum)、源码编译或下载二进制包。Windows用户可下载.msi安装包,Lin
目录

1.CMake支持的操作系统
CMake 是一款跨平台的构建工具,能够支持多种操作系统和平台。以下是 CMake 支持的主要操作系统及平台分类,涵盖主流桌面系统、服务器系统、嵌入式系统等:
1.1.桌面与服务器操作系统
1. Linux 系列
- 主流发行版
- Ubuntu/Debian(如 Ubuntu 20.04、Debian 11)
- CentOS/RHEL(如 CentOS 8、RHEL 9)
- Fedora(如 Fedora 37)
- openSUSE(如 openSUSE Tumbleweed)
- Arch Linux
- Manjaro
- 服务器专用系统
- SUSE Linux Enterprise Server(SLES)
- Rocky Linux、AlmaLinux(CentOS 替代版)
2. Windows 系列
- Windows 10/11(支持 MSVC、MinGW、Cygwin 等编译器)
- Windows Server 2016/2019/2022
- 支持通过 MSYS2、Cygwin 模拟 Unix 环境编译。
3. macOS
- macOS 10.13+(High Sierra 及以上)
- 支持 Xcode 编译器(Clang)和 Homebrew 包管理系统。
1.2.UNIX 及类 UNIX 系统
- BSD 系列
- FreeBSD
- NetBSD
- OpenBSD
- Solaris/Illumos
- Oracle Solaris
- illumos 衍生系统(如 SmartOS)
1.3.嵌入式与实时操作系统
- 嵌入式 Linux
- 基于 Yocto、Buildroot 构建的嵌入式系统
- 常见于物联网设备、工业控制平台。
- RTOS(实时操作系统)
- QNX
- VxWorks
- FreeRTOS(需配合特定工具链)
- 其他嵌入式系统
- Android(基于 Linux 内核,支持 NDK 编译)
- iOS(通过 Xcode 工具链支持)
1.4.特殊硬件与异构平台
- GPU 计算平台
- NVIDIA CUDA 平台(支持在 Linux/Windows/macOS 上编译 CUDA 项目)
- AMD ROCm 平台
- FPGA 与硬件加速平台
- Xilinx、Intel FPGA 开发环境(需配合厂商工具链)
- 异构计算平台
- ARM + x86 混合架构(如某些服务器或边缘计算设备)
1.5.交叉编译支持的目标平台
CMake 支持交叉编译,可在主机系统上为以下目标平台生成构建文件:
- ARM 架构
- ARMv7、ARMv8(如树莓派、嵌入式设备)
- Android ARM 设备
- MIPS 架构
- 部分路由器、网络设备
- PowerPC 架构
- 传统服务器、工业控制设备
- RISC-V 架构
- 新兴开源处理器平台
1.6.验证 CMake 对系统的支持
1.查看官方文档
CMake 官网(https://cmake.org)会定期更新支持的平台列表。
2.命令行检查
在终端执行 cmake --version,若能正常运行,说明当前系统已支持。
3.交叉编译配置
通过 CMAKE_TOOLCHAIN_FILE 指定目标平台工具链,例如为 ARM 平台编译:
set(CMAKE_TOOLCHAIN_FILE "/path/to/arm-toolchain.cmake")
.cmake的写法参考下面章节:
2.CMake的安装与配置
CMake 可以在不同操作系统上进行安装,本文将介绍 Windows、Linux 以及 macOS 系统下的安装与配置。
CMake 安装包下载地址:Download CMake。
下载页面包含了源码包及二进制包:

我们可以在上面二进制包列表中下载适用于我们操作系统的安装包。
2.1.Windows安装与配置
选择 Windows 版本的安装包(通常是 .msi 文件)。
下载后,双击下载的 .msi 文件,按照安装向导的指示进行安装。

在安装过程中,可以选择将 CMake 添加到系统的 PATH 环境变量中(建议选择此选项,以便在命令行中直接使用 cmake 命令)。

验证安装:打开命令提示符(CMD)或 PowerShell,输入 cmake --version,查看是否能正确显示 CMake 的版本信息。

2.2.Linux的安装与配置
2.2.1.通过通过包管理器安装(推荐新手)
通过包管理器安装(适用于大多数发行版):
1.Ubuntu/Debian 系统
sudo apt update
sudo apt install cmake
或
sudo apt-get install cmake
2.CentOS/RHEL 系统
sudo yum install cmake # 可能安装较旧版本(如 2.8.x)
# 若需新版本,可启用 EPEL 源
sudo yum install epel-release
sudo yum install cmake3 # 较新版本(如 3.10+)
# 为保持兼容性,创建软链接
sudo ln -s /usr/bin/cmake3 /usr/bin/cmake
3.Arch Linux
sudo pacman -S cmake
4.Fedora 系统
sudo dnf install cmake
2.2.2.从源码编译安装(获取最新版本)
1.安装依赖
# Ubuntu/Debian
sudo apt install build-essential libssl-dev
# CentOS/RHEL
sudo yum install gcc gcc-c++ make openssl-devel
2.下载 CMake 源码
从 CMake 官网 下载最新稳定版:
VERSION=3.26.4 # 替换为最新版本号
wget https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}.tar.gz
tar -zxvf cmake-${VERSION}.tar.gz
cd cmake-${VERSION}
3.配置、编译和安装
./bootstrap --prefix=/usr/local # 指定安装路径
make -j$(nproc) # 并行编译(利用多核加速)
sudo make install
4.验证安装
cmake --version # 应显示新安装的版本
2.2.3.使用二进制包(.sh)安装
1.查看系统
uname -m
X86-64
2.下载二进制包
VERSION=3.26.4 # 替换为最新版本号
wget https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}-linux-x86_64.sh
chmod +x cmake-${VERSION}-linux-x86_64.sh
3.安装(交互式或静默模式)
# 交互式安装(推荐)
./cmake-${VERSION}-linux-x86_64.sh
# 静默安装(指定路径)
./cmake-${VERSION}-linux-x86_64.sh --prefix=/usr/local --skip-license
4.添加到 PATH(若未自动添加)
echo 'export PATH=/path/to/cmake/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
2.2.4.使用二进制包(.tar.gz)安装
1.下载并解压文件
# 下载文件(如果尚未下载)
wget https://github.com/Kitware/CMake/releases/download/v3.31.8/cmake-3.31.8-linux-x86_64.tar.gz
# 解压到 /opt 目录(需管理员权限)
sudo tar -zxvf cmake-3.31.8-linux-x86_64.tar.gz -C /opt/
# 重命名目录(可选,但推荐)
sudo mv /opt/cmake-3.31.8-linux-x86_64 /opt/cmake-3.31.8
2.配置环境变量
将 CMake 的 bin 目录添加到系统路径:
方法 1:临时设置(当前终端有效)
export PATH=/opt/cmake-3.31.8/bin:$PATH
方法 2:永久设置(推荐)
# 编辑 .bashrc 或 .bash_profile
echo 'export PATH=/opt/cmake-3.31.8/bin:$PATH' >> ~/.bashrc
source ~/.bashrc # 立即生效
3.验证安装
cmake --version # 应显示 3.31.8
which cmake # 应显示 /opt/cmake-3.31.8/bin/cmake
4.可选:创建系统软链接
若 cmake --version 仍显示旧版本,可能是系统默认路径优先级更高。可通过以下方式解决:
# 方法 1:创建软链接覆盖系统默认命令
sudo ln -s /opt/cmake-3.31.8/bin/cmake /usr/bin/cmake
sudo ln -s /opt/cmake-3.31.8/bin/cpack /usr/bin/cpack
# 方法 2:使用 update-alternatives 管理命令优先级
sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/cmake/bin/cmake 100
2.3.macOS的安装与配置
2.3.1.使用 Homebrew 安装(推荐)
Homebrew 是 macOS 上最流行的包管理器,能快速安装和更新 CMake。
访问 CMake 官方网站的下载页面,选择 macOS 版本的 .dmg 文件。
下载并运行 .dmg 文件,拖动 CMake 图标到应用程序文件夹。

安装成功后,命令都在 /Applications/CMake.app/Contents/bin 目录下,我们需要将环境变量添加到 .bash_profile 文件中,使用 vim 进行编辑:
vim ~/.bash_profile
将以下内容添加到文件末尾:
export PATH="/Applications/CMake.app/Contents/bin":"$PATH"
添加完成后,执行 source ~/.bash_profile 或者重新启动终端。
验证安装:打开终端,输入 cmake --version,确认 CMake 已正确安装。
2.3.2.从源码编译安装(高级用户)
适合需要自定义编译选项的场景:
1.安装依赖
brew install openssl # 若使用 Homebrew
2.下载并编译源码
VERSION=3.31.8 # 替换为最新版本
curl -LO https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}.tar.gz
tar -zxvf cmake-${VERSION}.tar.gz
cd cmake-${VERSION}
# 配置并编译
./bootstrap --prefix=/usr/local -- -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
make -j$(sysctl -n hw.logicalcpu) # 并行编译
sudo make install
3.设置环境变量(若需要)
如果 CMake 命令无法找到,手动添加到 PATH:
echo 'export PATH="/Applications/CMake.app/Contents/bin:$PATH"' >> ~/.zshrc # macOS 默认 shell
source ~/.zshrc
4.可选:创建系统软链接
若 cmake --version 仍显示旧版本,可能是系统默认路径优先级更高。可通过以下方式解决:
# 查看命令实际路径
which cmake # 若显示 /usr/bin/cmake,可能是系统默认版本
可通过以下方式解决:
# 方法 1:修改 PATH 顺序(在 ~/.zshrc 中调整)
export PATH="/usr/local/bin:$PATH" # 确保 Homebrew 路径优先
# 方法 2:创建软链接覆盖系统默认
sudo ln -sf /Applications/CMake.app/Contents/bin/cmake /usr/bin/cmake
2.4.注意事项
1.权限问题
若解压或创建软链接时提示权限不足,添加 sudo 前缀:
sudo tar -zxvf ...
sudo ln -s ...
2.版本未更新
若 cmake --version 仍显示旧版本,可能是 PATH 设置问题:
- 检查
which cmake输出路径是否正确 - 确保
source ~/.bashrc或重启终端
3.命令找不到
若提示 cmake: command not found,检查:
- 解压路径是否正确(
/opt/cmake-3.31.8/bin存在?) - PATH 是否正确添加(
echo $PATH查看)
3.CMake GUI 使用
CMake 也提供了图形用户界面(GUI),可以用于更直观地配置项目。
在 Windows 中,通常可以从开始菜单启动。

在 macOS 和 Linux 中,使用终端命令 cmake-gui 启动。

设置源代码目录和构建目录:
- 源代码目录(Source Code Directory): 指向包含 CMakeLists.txt 文件的目录。
- 构建目录(Build Directory): 指向用于存放生成的构建文件的目录。建议使用独立的目录以保持源代码的整洁。
配置和生成:
- 点击 "Configure" 按钮,选择编译器和构建选项,CMake 会检查依赖项并生成配置。
- 点击 "Generate" 按钮,CMake 会生成适合当前平台的构建文件。
通过上述步骤,用户可以安装和配置 CMake,并使其准备好用于构建和管理项目。
相关链接
- CMake 官网 CMake - Upgrade Your Software Build System
- CMake 官方文档:CMake Tutorial — CMake 4.1.0-rc1 Documentation
- CMake 源码:https://github.com/Kitware/CMake
- CMake 源码:CMake · GitLab
- 中文版基础介绍: CMake 入门实战 | HaHack
- wiki: Home · Wiki · CMake / Community · GitLab
- Modern CMake 简体中文版: Introduction · Modern CMake
更多推荐



所有评论(0)