CMake版本升级
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("|\tInstall Done")
print("---------------------------")
os.system("cmake --version")
print("---------------------------")
pms={
"sudo":"123456", # 在这里设置你的超级用户密码
"version":"3.15.2" # 在这里设置你的版本信息
}
build(pms)
注意的是程序使用的是默认位置,即:覆盖
原先的CMake,所以还是要慎重。
CMake版本升级的更多相关文章
- cmake 版本升级
1.在网址 https://cmake.org/files/v3.1/下载 cmake-3.1.0.tar.gz 2.解压 3.执行 ./configure 4.执行 make 5. 执行 ...
- ubuntu中cmake版本升级
在网上下载一个项目,编译提示版本太低 CMake Error at CMakeLists.txt: (cmake_minimum_required): CMake 编译方式安装(需要openssl) ...
- CentOS7 升级 cmake
编译cmake文件时,报错:CMake 3.0.0 or higher is required. You are running version 2.8.12.2 很明显,这是 cmake 版本过低导 ...
- Centos 7 编译安装llvm 8.0.0
参考连接:https://www.cnblogs.com/BinBinStory/p/7499527.html https://blog.csdn.net/llwy1428/article/detai ...
- mysql5.7.17版本升级源码方式及恢复主主复制
版本升级--自测 从库 ------------ 停止主从复制 stop slave 全库备份 mysqldump -u root -p -S mysql.sock --all-databases&g ...
- android studio 使用CMAKE
前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的. 1. 它没有代码提示!!!这意味着我们必须自己手动敲出所有的代码,对于一个新手来说,要一个字母都不错且大小写也要正确,甚至要记得住所有 ...
- CMake最好的学习资料
本文为转载,阅读不友好,请先查看原文:https://blog.gmem.cc/cmake-study-note 收下为原文内容================> 基础知识 CMake简介 CM ...
- 使用cmake自动构建工程
公司引擎是用cmake根据目标平台来构建工程的,刚接触的时候深深体会到cmake的方便:如果目标平台是windows,它可以帮你自动构建出vs工程:如果是安卓,自动构建出eclipse工程,如果是IO ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
随机推荐
- MongoDB同步机制
复制 在此页 冗余和数据可用性 在MongoDB中复制 异步复制 自动故障转移 读取操作 交易次数 更改流 附加的功能 甲副本集 MongoDB中是一组mongod其保持相同的数据集的过程.副本集提供 ...
- 基于Mint UI和MUI开发VUE项目一之环境搭建和首页的实现
一:简介 Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.通过它,可以快速构建出风格统一的页面,提升开发效率.真正意义上的按需加载组件.可以只加载声明过的组件及其样式 ...
- groovy基本语法--JSON
1.groovy提供了对JSON解析的方法 ①JsonSlurper JsonSlurper是一个将JSON文本或阅读器内容解析为Groovy数据的类结构,例如map,列表和原始类型, ...
- npm设置成淘宝镜像
1.淘宝 npm 网址 https://npm.taobao.org/ 2.修改 2.1 通过命令配置 2.1.1. 命令 npm config set registry https://regist ...
- Jest自动化测试
最近一直很苦恼,测试这一块的内容,一直想提升测试效率,从慕课网了解到了自动化测试jest ,准备试下下,记录一下学习笔记,方便别人使用 1 什么是 Jest? Jest是 Facebook 的一套开源 ...
- 全选所有checkbox
$("table input[type=checkbox]").attr("checked",true)
- STS工具:mybayis连接oracle数据库
1.pom.xml文件中的依赖 刚添加依赖的时候会报错,原因是jar包下不下来. 2.我的jdk是1.6,所以需要升级jdk版本到1.8 执行mvn -v命令,可以看到maven的版本号 DOS窗口执 ...
- learning express step(十)
when develop expree meet some errors, we show how to solve Error: No default engine was specified an ...
- pat 甲级 1057 Stack(30) (树状数组+二分)
1057 Stack (30 分) Stack is one of the most fundamental data structures, which is based on the princi ...
- Hdu Can you find it?(二分答案)
Can you find it? Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/10000 K (Java/Others) P ...