CMake实践:安装与配置
目录
1.CMake支持的操作系统
1.1.桌面与服务器操作系统
1.2.UNIX 及类 UNIX 系统
1.3.嵌入式与实时操作系统
1.4.特殊硬件与异构平台
1.5.交叉编译支持的目标平台
1.6.验证 CMake 对系统的支持
2.CMake的安装与配置
2.1.Windows安装与配置
2.2.Linux的安装与配置
2.2.1.通过通过包管理器安装(推荐新手)
2.2.2.从源码编译安装(获取最新版本)
2.2.3.使用二进制包(.sh)安装
2.2.4.使用二进制包(.tar.gz)安装
2.3.macOS的安装与配置
2.3.1.使用 Homebrew 安装(推荐)
2.3.2.从源码编译安装(高级用户)
2.4.注意事项
3.CMake GUI 使用
相关链接
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的写法参考下面章节:
CMake实践:指定gcc版本编译和交叉编译_cmake 指定版本-CSDN博客
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 -mX86-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 is 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