Bootstrap

centos7编译安装cmake

写在前面

       CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。
       我在centos中安装cmake是为了能够编译llvm,llvm较高的版本已经不能使用./configure来配置了。

1. 下载cmake源码

使用wget下载,下载地址。我下载的是cmake3.15.0

cd ~ #下载到的路径无所谓,只要能知道下载的压缩包在哪里就可以
wget https://cmake.org/files/v3.15/cmake-3.15.0-Linux-x86_64.tar.gz

2. 解压

tar -zxvf cmake-3.15.0-Linux-x86_64.tar.gz

       解压后再相应家目录下出现cmake-3.15.0-Linux-x86_64目录,我并没有使用-C来制定文件解压后的位置,因为在配置的时候可以配置cmake安装的目录,解压后的文件相当于是我们的安装包,不需要的话可以删掉。

3. 配置并编译安装

       cmake在配置时有两种方式,一个是经常的使用./configure,另一个就是./bootstrap。我查看了configure文件内容,发现使用./configure最后也是去调用bootstrap,所以我就直接使用bootstrap

cd cmake-3.15.0-Linux-x86_64
./bootstrap --prefix=/usr/local/cmake

       稍微解释上面这句命令,这句话的大致目的就是把cmake的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。如果不指定这个安装目录的话,最后cmake的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。自己安装的软件一般是安装在/usr/local目录下的,所以我将cmake安装在/usr/local目录下,cmake文件夹可以没有,在安装的时候回自行创建。
       现在我们当前目录还是在~/cmake-3.15.0-Linux-x86_64,执行如下命令:

make

       然后出来一大堆代码,等它执行完毕。接着输入以下命令:

sudo make install

       又是一大堆代码,执行完毕之后,我们就可以切换到/usr/local/cmake目录下去查看了。

cd /usr/local/cmake
ls -l

ls命令结果为
ls命令结果

4. 后续工作

       为了能在shell中直接输入cmake使用其功能,可以为cmake创建软链接或者将cmake加入到系统环境变量中。以下方法二选一

  1. 为cmake创建软链接
cd /usr/bin
sudo ln -s /usr/local/cmake/bin/cmake cmake
  1. 添加系统环境变量
sudo vi /etc/profile

然后在profile文件的最后添加一行

export PATH=$PATH:/usr/local/cmake/bin

即可。

测试使用

在终端输入

source /etc/profile
cmake --version

       显示下面的结果,则为安装成功。
cmake --version
Enjoy it !!!

文中都是我个人的理解,如有错误的地方欢迎下方评论告诉我,我及时更正,大家共同进步

;