Ubuntu下安装和管理不同版本CMake,根据软件安装的需要选用不同版本的CMake

0. Foreword

在安装VTK(Visualization Toolkit)时发现需要用3.12版本以上的CMake才行,但是系统带的是3.10版本的,这时可以有两个方法:

  • 最简单粗暴就是把系统原本的CMake覆盖了,重新装新版
  • 其次是麻烦一点,在另外的文件夹安装新版CMake,保留旧版本,以后要用的时候,就根据需要调用

因为我的电脑里已经有很多编译好的程序了,装新版,很可能导致一些程序没办法编译,所以还是花点时间,搞清楚怎么同时管理不同CMake

1. Method

① 首先是下载新版本的CMAKE,这个可以自己到官网去找,下面我用一个3.21版本的CMAKE做例子:

wget https://cmake.org/files/v3.21/cmake-3.21.3.tar.gz

② 然后解压

tar -zxvf cmake-3.21.3.tar.gz
cd cmake-3.21.3

③ 运行安装脚本,并指定安装路径

./bootstrap --prefix=/opt/cmake

在上述命令中,--prefix=/opt/cmake 指定了将 CMake 安装到 /opt/cmake 目录下。
④ 编译并安装

make -j4
sudo make install

⑤ 安装完后,检查一下系统内是否有两个版本的CMake
首先检测系统默认的CMake

cmake --version

这将输出系统默认的 CMake 的版本号

cmake version 3.10.2

然后检查安装在指定路径下的CMake

/opt/cmake/bin/cmake --version

这时会输出

cmake version 3.21.3

到这里就说明已经安装完成了,然后就是之后怎么选择不同的CMake安装package

2. Run

在运行 CMake 的时候,如果您想使用 /opt/cmake 目录下的 CMake,可以直接使用上述命令中的 /opt/cmake/bin/cmake 路径,而不是使用系统默认的 CMake。
如:

/opt/cmake/bin/cmake .. -DVTK_BUILD_EXAMPLES:BOOL=OFF -DVTK_BUILD_TESTING:BOOL=OFF -DVTK_WRAP_PYTHON:BOOL=OFF

想用默认版本就换成:

cmake .. -DVTK_BUILD_EXAMPLES:BOOL=OFF -DVTK_BUILD_TESTING:BOOL=OFF -DVTK_WRAP_PYTHON:BOOL=OFF

你可能感兴趣的:(Ubuntu,C++,ubuntu)