cmake “hello word” 内部编译
1、准备工作
建立一个目录用来存放文件例如:
mkdir -p /zy/cmake/
//建立第一个目录
cd /zy/cmake/
mkdir t1
cd t1
建立main.c和CMakeLists.txt文档
main.c
#include<stdio.h>
int main()
{
printf("Hello World from t1 main?\n");
return 0;
}
CMakeLists.txt
PROJECT (HELLO)
SET(SRC_LIST main.c)
MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir" ${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello main.c)
在t1目录下打开终端:cmake .//注意之后的点
之后make
输入./hello
指令分析
PROJECT (HELLO)//定义工程的名称,并且默认了两个指令HELLO_BINARY_DIR、HELLO_SOURCE_DIR 在MESSAGE中可以直接使用这两个值
SET(SRC_LIST main.c)//可以用来定义变量
MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR})//终端输出消息
MESSAGE(STATUS "This is SOURCE dir" ${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST}) //定义这个工程会生成一个hello的可执行文件。相关的源文件是SRC_LIST中的源文件列表也可以使用ADD_EXECUTABLE(hello main.c)
基本语法规则
1、变量使用 ${}方式取值
2、指令(参数1 参数2. …)使用括弧括起来,参数之间用空格或者逗号分隔
以上面的ADD_EXECUTABLE 为例如果存在另一个源文件fun.c就要写成
ADD_EXECUTABLE(hello main.c fun.c)
3、指令是大小写无关的
4、工程名字HELLO和可执行文件hello是没有任何关系的。