1. 程式人生 > >CMake的簡單使用(一) - HelloWorld

CMake的簡單使用(一) - HelloWorld

req AI 構建項目 過程 web filename return family pan

  • 創建一個HelloWorld目錄
  • 編寫我們的HelloWorld.c
  •  1 /*
     2  * Filename     : HelloWorld.c
     3  * Description  : a CMake HelloWorld demo
     4  * Author       : loop0day
     5  * Created      : 2018 Apr 04 04:27:27 PM
     6  * Modified     : 2018 Apr 04 04:30:29 PM
     7  */
     8 
     9 #include <stdio.h>
    10 
    11 /* main */
    12 int main();
    
    13 14 int 15 main() 16 { 17 if (printf("Hello World!\n") < 0) { 18 fprintf(stderr, "printf() failed!\n"); 19 return 1; 20 } 21 22 return 0; 23 }

  • 在同一目錄下編寫CMakeLists.txt
  • 1 # set the minimum required version cmake to build this project
    2 cmake_minimum_required(VERSION 3.9)
    3 
    4 # set project name
    5 project(HelloWorld) 6 7 # define a executable target 8 add_executable(HelloWorld HelloWorld.c)

  • 這裏簡單說一下, cmake_minimum_required是指定當前項目構建所需要的最小cmake版本, project是設置當前項目的名稱, add_executable就是類似於Makefile中的target, 定義項目的最終可執行目標.
  • 接下來就是構建項目的過程, cmake推薦外部構建, 就是在其他目錄中進行構建, 產生構建過程的中間文件和最終可執行文件, 這樣不會汙染源代碼文件, 這裏我在當前目錄下新建build目錄, cd到build目錄中, 執行 cmake ..
    , make , 沒有錯誤的話就會在當前目錄下產生一個HelloWorld可執行文件, ./HelloWorld 即可執行相應的輸出.
  • 這裏和Makefile做一個對比, 我們並沒有顯式的指定CC編譯器, 我們在執行 cmake .. 的時候可以發現, cmake自動為我們處理平臺相關的編譯器信息, 這也是cmake能做到跨平臺構建的一部分原因.

CMake的簡單使用(一) - HelloWorld