- A+
CMake是目前应用最广泛、IDE支持最好的构建系统之一。由于CMake具有良好的向后兼容性,Modern CMake推荐用户尽量安装CMake的最新版本,然而在Ubuntu系统APT仓库中的CMake版本一般较老旧。Ubuntu 20.04以下版本的用户可以使用Kitware官方APT仓库安装最新版本的CMake和CMake GUI。
本文以当前最新版本CMake 3.24.2为例,介绍如何在Ubuntu系统中,直接从官方源代码编译安装CMake和CMake GUI。以下步骤在笔者的Ubuntu 22.04 LTS系统中正确完成编译安装,所用Shell为Bash。
1. 卸载通过 apt命令安装的旧版本的CMake和CMake GUI。
sudo apt-get remove cmake cmake-gui
2. 使用 apt命令安装下载工具Wget,以及CMake编译所需的依赖。若已安装则跳过。
sudo apt-get update
sudo apt-get install wget build-essential libssl-dev
3. 如果不需要安装CMake GUI可跳过该步。CMake GUI的图形界面依赖于Qt5,需要安装相关依赖:
sudo apt-get install qtbase5-dev
4. 下载、解压CMake源码。直链来自Download | CMake。
cd ~ wget https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2.tar.gz
tar -zxf cmake-3.24.2.tar.gz
在CMake目录下进行配置、编译和安装,可能消耗较长时间。
cd cmake-3.24.2 ./configure --prefix=/opt/cmake --qt-gui # 如不需要cmake-gui,可删除--qt-gui make -j 8 # 编译cmake,-j n 表示采用n线程编译 sudo make install # 安装cmake
运行配置脚本 ./configure 时, --prefix 用于设置CMake的安装位置, --qt-gui 要求额外编译CMake GUI。由于CMake是Linux系统的可选软件包,且几乎没有其他软件包直接依赖于CMake,推荐将其安装在 /opt/cmake 目录下方便管理,而强烈不建议安装在默认目录/usr/local下(除非使用的是Docker容器等)。
5. 将CMake的 bin 目录加入系统变量PATH,便于命令行使用。在Ubuntu系统中,推荐修改 ~/.bash_aliases 。如果用户目录下没有该文件,可以使用 touch ~/.bash_aliases 命令创建。使用任意编辑器(如vim或emacs),在 ~/.bash_aliases文件中添加:
export PATH="$PATH:/opt/cmake/bin" # 目录取决于第4步中的配置
然后在终端中输入以下命令重新初始化Bash:
source ~/.bashrc
6. CMake和CMake GUI安装完成。通过以下命令测试是否正常安装:
cmake --version cmake-gui &