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 单机 ...
随机推荐
- 0008SpringBoot中的spring.config.location对于运维的用处
在工作过程中,若项目已经打好包,application.properties中的配置文件已经不能修改,但是还是需要修改一些参数或者新增一些参数的情况下怎么办? 可以单独再定义一个配置文件,比如定义名称 ...
- SpringBoot 项目启动 Failed to convert value of type 'java.lang.String' to required type 'cn.com.goldenwater.dcproj.dao.TacPageOfficePblmListDao';
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tac ...
- scrollReveal(页面缓入效果插件)
scrollReveal(页面缓入效果插件)实现页面滚动时动画加载元素效果 前面我去了解了元素距页面视图距离,想实现页面滚动是动画加载元素(https://www.cnblogs.com/chengh ...
- 数组增、删方法(push()-unshift()-pop()和shift())
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新(转)
实际上,我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿福,最近就遇到这样的一个坑. ...
- 2、细节&Class对象
2.细节&Class对象 class Class{ 提供获取字节码文件中的内容. 比如: 名称,字段,构造函数,一般函数 } 该类就可以获取字节码文件中的所有内容,那么反射就是依靠该类完成的. ...
- 基于steam的游戏销量预测 — PART 3 — 基于BP神经网络的机器学习与预测
语言:c++ 环境:windows 训练内容:根据从steam中爬取的数据经过文本分析制作的向量以及标签 使用相关:无 解释: 就是一个BP神经网络,借鉴参考了一些博客的解释和代码,具体哪些忘了,给出 ...
- pyecharts v1 版本 学习笔记 折线图,面积图
折线图 折线图 基本demo import pyecharts.options as opts from pyecharts.charts import Line c = ( Line() .add_ ...
- js里url里有特殊字符(如&)情况,后台request.getParameter("url")里&变成&
js:encodeURIComponent(url) //用encodeURIComponent转码 java后台:用java.net.URLDecoder.decode((request.getPa ...
- [POI] 大都市meg
http://www.lydsy.com/JudgeOnline/problem.php?id=1103 树剖边权转点权,vector存图卡一下午RE 气炸.. #include <iostre ...