前言
CMake是一個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。他能夠輸出各種各樣的 makefile 或者 project 文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。只是 CMake 的組態檔取名為 CMakeLists.txt。Cmake 並不直接建構出最終的軟件,而是產生標准的建構檔(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建構方式使用。
我在centos中安裝cmake是為了能夠編譯 LevelDB,LevelDB 的CMakeLists.txt 要求3.9以上版本的cmake來編譯。
編譯安裝cmake
1.下載cmake的源代碼並解壓
使用wget命令下載,下載地址。這里我下載的是 Linux_x86的 cmake-3.9.6版本
wget https://cmake.org/files/v3.9/cmake-3.9.6-Linux-x86_64.tar.gz
解壓
tar -zxvf cmake-3.9.6-Linux-x86_64.tar.gz
當前目錄下出現 cmake-3.9.6-Linux-x86_64目錄。使用tar命令時可以用-C指定解壓到的路徑,因為后面會配置cmake的安裝目錄,所以此處可以不指定路徑。解壓后的文件相當於是我們的安裝包,cmake安裝成功后可以將該文件夾刪掉。
2.配置並編譯安裝cmake
cmake在配置時有兩種方式,一個是經常的使用./configure,另一個就是./bootstrap。我查看了configure文件內容,發現使用./configure最后也是去調用bootstrap,所以我就直接使用bootstrap
cd cmake-3.9.6-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命令結果為
后續工作
為了能在shell中直接輸入cmake使用其功能,可以為cmake創建軟鏈接或者將cmake加入到系統環境變量中。以下方法二選一
- 為cmake創建軟鏈接
cd /usr/bin
sudo ln -s /usr/local/cmake/bin/cmake cmake
- 添加系統環境變量
sudo vi /etc/profile
然后在profile文件的最后添加一行
export PATH=$PATH:/usr/local/cmake/bin
即可。
測試使用
在終端輸入
source /etc/profile
cmake --version
顯示下面的結果,則為安裝成功。