Cmake

3/8/2017来源:ASP.NET技巧人气:1984

CMakeLists.txt:

cmake_minimum_required (VERSION 2.6)#限定了cmake的版本 PRoject (leptjson_test C)#项目的名称是leptjson_test C if (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ansi -pedantic -Wall")#set用来设置变量 endif() add_library(leptjson leptjson.c)#生成一个库文件名称为leptjson add_executable(leptjson_test test.c)#指示test.c需要编译成一个名称为leptjson的可执行文件 target_link_libraries(leptjson_test leptjson)#将给定的库链接到一个目标上

例子:HelloWorld

首先创建一个test1文件夹,里面创建一个main.c文件,内容如下:

include stdio.h int main() { printf("Hello World!\n"); return 0; }

再创建一个CMakeLists.txt

PROJECT (HELLO) SET(SRC_LIST main.c) ADD_EXECUTABLE(hello ${SRC_LIST})

第一行:设置项目名称; 第二行:将SRC_LIST值设置为main.c 第三行:生成可执行文件 hello。 ${} 是引用某个值。 Terminal中cd进入到test1目录,创建一个build目录用于外部构建(编译所产生的文件都生成在build目录),依次执行下面三条命令:

cmake .. make ./hello