CMake 是一个可扩展的开源系统,以独立于编译器的方式在操作系统中管理生成过程。与许多跨平台系统不同,CMake 旨在与本机生成环境结合使用。放置在每个源目录中的简单配置文件(称为 CMakeLists.txt 文件)用于生成标准生成文件(例如,在 Unix 上生成文件,在 Windows MSVC 中生成项目/工作区),这些文件以通常的方式使用。CMake 可以生成本机生成环境,该环境将编译源代码、创建库、生成包装和任意组合生成可执行文件。CMake 支持就地和出位生成,因此可以支持来自单个源树的多个生成。CMake 还支持静态和动态库生成。CMake 的另一个不错的功能是,它生成一个缓存文件,该文件旨在与图形编辑器一起使用。例如,当 CMake 运行时,它会查找文件、库和可执行文件,并且可能会遇到可选的生成指令。此信息将收集到缓存中,用户可能会在生成本机生成文件之前更改这些信息。
更新过程
首先下载CMake的源代码,登录CMake官网下载列表即可下载源码。
aria2c -s 4 -c https://cmake.org/files/LatestRelease/cmake-3.15.1.tar.gz
注意:请根据自己的实际情况下载。
然后解压程序。
tar -zxvf cmake-3.15.1.tar.gz
然后进入到目录,并编译。需要注意的是需要保证你的电脑最初有一版本的CMake,否则可能将无法正常编译。
cd cmake-3.15.1
mkdir -p build
cd build
cmake ..
make -j10
如果你才用上述的命令编译,那么默认安装位置是/usr/bin
,所以会覆盖你原先的目录,并且不用配置环境变量,当需要其他版本时候可以重新覆盖安装。
cd cmake-3.15.1/build
sudo make install -j10
程序会自动安装CMake到你的用户目录里面,然后检查版本信息:
cmake --version
Python脚本如下
为了方便大家使用,下面有一个Python脚本可以全称自动化的帮助你安装和更新CMake,只需要在下面设置你的版本信息和超级用户的密码即可,然后运行python3 cmake_upgrade.py
指令即可自动安装和更新CMake。
pms={
"sudo":"123456", # 在这里设置你的超级用户密码
"version":"3.15.2" # 在这里设置你的版本信息
}
Python脚本
import os
def download(pms):
os.system("echo {} | sudo -S apt-get install -y aria2".format(pms["sudo"]))
os.system("aria2c -s 2 -c -o cmake-{}.tar.gz https://cmake.org/files/v{}/cmake-{}.tar.gz".format(pms["version"],pms["version"][0:pms["version"].rindex('.')],pms["version"]))
print("download the file done!")
os.system("tar -xvf cmake-{}.tar.gz".format(pms["version"]))
print("tar the file done!")
def themake(pms):
os.system("mkdir -p build && cd build && rm -rf ./* && cmake ../cmake-{}/ && make -j".format(pms["version"]))
print("make done!")
def build(pms):
print("begin the task!")
download(pms)
themake(pms)
os.system("cd build && (echo {} | sudo -S make install -j)".format(pms["sudo"]))
print("---------------------------")
print("| Install Done")
print("---------------------------")
os.system("cmake --version")
print("---------------------------")
pms={
"sudo":"123456", # 在这里设置你的超级用户密码
"version":"3.15.2" # 在这里设置你的版本信息
}
build(pms)
注意的是程序使用的是默认位置,即:覆盖
原先的CMake,所以还是要慎重。