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