博客 / 詳情

返回

CMake學習(一)

CMake學習(一)

1、簡介

 title=
CMake是一個強大的軟件構建系統,可以用簡單的語句來描述所有平台的安裝(編譯過程)
可以編譯源代碼、製作程序庫、產生適配器(wrapper)、還可以用任意的順序建構執行檔

https://cmake.org/

2、構建基礎項目

最基礎的 CMake 項目是由單個源代碼文件構建的可執行文件
對於這種簡單的需求,我們所需要用到的僅僅是一個名為CMakeLists.txt的文件以及三條命令

cmake_minimum_required()

任何項目最頂層的CMakeLists.txt文件必須以cmake_minimum_required()命令開頭,用來指定最小支持的CMake版本
這將建立策略設置,並確保隨後編寫的CMake配置能夠在兼容的CMake版本下執行

project()

如果想要啓動一個項目,那麼就使用project()來設置項目的名稱
每個項目都需要調用該命令,並且應在 make_minimum_required() 之後儘快調用
除此以外,該命令還可用於指定其他項目級信息,如語言或版本號

add_executable()

add_executable() 命令告訴 CMake 使用指定的源代碼文件創建一個可執行文件

2.1、文件配置

直接創建一個目錄cmake_demos,裏面只放兩個文件,一個是源代碼文件main.cpp,另一個是CMake的配置文件CMakeLists.txt
image
main.cpp文件中是簡單的C++代碼

#include<iostream>
int main()
{
    std::cout << "Hello, CMake!" << std::endl;
}

CMakeLists.txt依照以上內容進行一些項目配置

# 指定最低支持的CMake版本
cmake_minimum_required(VERSION 3.10)
# 設置項目名稱
project(Beginner)
# 將指定源文件編譯成可執行文件
add_executable(App main.cpp)

簡單看下我們的配置,首先,聲明瞭支持的CMake版本最低支持到3.10,因此低於該版本的CMake無法執行構建任務
後面緊接着聲明瞭項目名稱,此時項目名稱會被存儲到PROJECT_NAME變量當中,如果當前是頂層的CMakeLists.txt,還會存儲到CMAKE_PROJECT_NAME變量中
最後一句則是表示根據當前目錄下的main.cpp源文件生成名為App的可執行文件

2.2、構建執行

理解了配置的含義,接下來開始正式進行項目的構建吧~~
首先,在當前目錄創建一個build目錄,之後構建的文件會放到這裏面
image
然後打開終端,導航到build目錄下
image
執行cmake ..,意思是對上級目錄裏的內容進行項目配置,生成一個本地的構建系統
image
此時,build目錄下會多出一大堆東西
image
然後,是真正的構建環節,根據配置對項目進行編譯鏈接,執行cmake --build .命令,基於當前目錄生成的內容進行構建,並生成可執行文件
image
此時,可執行文件會出現在Debug目錄下
image
執行App.exe,正是main.cpp裏面我們編寫的功能
image
此時,一個最小型的CMake項目就已經構建完成了

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.