1. 程式人生 > >CMake的簡介、安裝以及基本的使用

CMake的簡介、安裝以及基本的使用

CMake簡介

CMake是一個工具,可以幫助我們實現跨平臺開發的工具,在實際開發中可以發揮重要的作用。

我們先圖解一下CMake的作用:

假如我們現在有一個在不同平臺都有共享程式碼的C++的工程,這些平臺分別是:Windows、OSX、Linux,在這些平臺使用的IDE分別是:Visual Studio、Xcode,現在有一份公共的程式碼:one.cpp,已經部署在三個平臺上。

現在,我們需要新加一個 bar.cpp,正常來說,我們需要在每一個平臺下面按照相應的規則新增這個bar.cpp,這個過程是需要我們手動去完成,比較繁瑣,而且容易出錯。

而CMake幫我們完成的事情就是將這些工程中的配置進行一個統一的管理,如下圖:

CMake讀取到工程中的改變,就會對每一個工程進行相應的更改。

那麼,CMake是怎麼讀取到工程中有改變呢?是通過一個檔案:CMakeLists.txt,這個檔案的名字是固定的,更改之後,CMake就識別不出來這個檔案了。

這個CMake使用的這個CMakeLists.txt檔案裡面就是工程裡面的配置項,CMake使用的語言是獨立於任何平臺的,也就是和平臺沒有什麼關係。

CMake的安裝

CMake的介紹之後,就是要我們來安裝CMake,這是CMake官網:https://cmake.org/download/

進入官網之後,我們下載二進位制分佈裡面的最新檔案,原始檔是需要我們自己編譯,有點噁心,所以我們直接下載二進位制檔案,也就是已經編譯好的版本。

安裝的時候我們可以把CMake放在環境變數中:

安裝完成之後就可以使用CMake的GUI介面了:

CMake的使用

使用GUI介面來使用CMake

一、首先我們應該在該平臺下面有一個工程,我們起名為:CMakeTest.cpp

使用VS建立一個CMakeTest的工程起名字為:CMakeTest.cpp

#include <iostream>

int main(int argc, char* argv)
{
	std::cout << "This is a project for test CMakeTest" << std::endl;
	return 0;
}

程式碼很簡單,目的是熟悉流程,

工程建立完成我們就應該寫我們的CMakeLists.txt檔案了,檔名必須是:CMakeLists.txt,且檔案應該和我們建立的.cpp檔案在一個檔案目錄裡面,在這個工程裡面也就是得和CMakeTest.cpp在一個資料夾。

CMakeLists.txt裡面的內容如下,指令可以大概瞭解一下,之後可以系統的去學習這些指令

#CMakeLists.txt 

#每個CMakeLists裡面開始都要加,這是這個版本CMakeLists的版本號
cmake_minimum_required(VERSION 2.8)

#專案宣告,每個平臺的解決方案都有自己的名稱,VS是:CMakeLists.sln,Xcode是:CMakeLists.xcodeproj
project(CMakeTest)

#新增可執行檔案CMakeLists 和源cpp
add_executable(CMakeTest CMakeTest.cpp)

CMakeLists.txt檔案建立好之後,之後我們開啟CMake的GUI介面,

輸入剛才我們建立的CMakeLists.txt檔案的目錄,以及我們要輸出的目錄,輸出的目錄裡面就是存放我們新生成的工程檔案的配置等。

接著我們點選:“Configure”

點選之後會彈出視窗,讓我們選擇版本:

這裡我選擇VS2017版本,然後點選“Finish”,然後他就會生成我們的工程的配置檔案,視窗會爆紅,但是不影響,因為是第一次設定,紅色只是醒目的提醒你一下。

完成之後會有:“Configuring done”提示,如果此時沒有Configuring done,可能是CMakeLists有問題

然後,我們點選:"Generate",這個將為我們生成sln解決方案,執行成功之後,將會顯示:“Generating done”

接著,我們開啟剛才輸出檔案的目錄,此時工程的配置檔案以及sln解決方案就會在資料夾裡面了。