1. 程式人生 > >CMake系列之二:入門案例-單個源文件

CMake系列之二:入門案例-單個源文件

bubuko 源文件 註釋 http 編寫 AD 源碼 power 比較

編寫一個源碼文件

如下

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 double power(double base,int exponent)
 5 {
 6     int result = base;
 7     int i;
 8     if(exponent ==0){
 9         return 1;
10     }
11     for(i=1;i<exponent;++i){
12         result=result*base;
13     }
14 return result; 15 } 16 17 int main(int argc,char *argv[]) 18 { 19 if(argc<3){ 20 printf("Usage:%s base exponent \n",argv[0]); 21 return 1; 22 } 23 double base = atof(argv[1]); 24 int exponent = atoi(argv[2]); 25 double result = power(base,exponent);
26 printf("%g ^ %d is %g\n",base,exponent,result); 27 return 0; 28 }

編寫CMakeLists.txt

該文件和源文件在同一個目錄

1 #CMake版本要求
2 cmake_minimum_required (VERSION 2.8)
3 #項目信息
4 project (Demo1)
5 #指定生成目標
6 add_executable(Demo main.c)

CMakeLists.txt 的語法比較簡單,由命令、註釋和空格組成,其中命令是不區分大小寫的。符號 #後面的內容被認為是註釋。命令由命令名稱、小括號和參數組成,參數之間使用空格進行間隔。

對於上面的 CMakeLists.txt 文件,依次出現了幾個命令:

    1. cmake_minimum_required:指定運行此配置文件所需的 CMake 的最低版本;
    2. project:參數值是 Demo1,該命令表示項目的名稱是 Demo1。
    3. add_executable: 將名為main.c的源文件編譯成一個名稱為 Demo 的可執行文件。

編譯項目

現在當前項目執行“cmake .”,得到Makefile後再使用make命令編譯得到Demo1可執行文件

  技術分享圖片

CMake系列之二:入門案例-單個源文件