Cmake:工程构建工具
初识cmake:
下面的代码用的是内部构建,生成的临时文件比我的代码文件还要多,会生成一些无法删除的中间文件
1.在/backup目录建立一个 cmake 目录:
mkdir -p /backup/cmake
2.在 cmake 建立第一个练习目录 t1:
cd /backup/cmake
mkdir t1
cd t1
3.在 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)
/*定义工程名称,默认支持所有语言,并且隐式定义了两个cmake变量PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR,此为内部编译,因此两个变量所指的是工程所在路径。*/
SET(SRC_LIST main.c)
/*SET指令用来显示的定义变量*/
MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR})
/*MESSAGE指令是向终端输出用户定义的信息包含三种类型:SEND_ERROR,产生错误,生成过程被跳过。 SATUS,输出前缀为—的信息。FATAL_ERROR,立即终止所有 cmake 过程*/
ADD_EXECUTABLE(hello ${SRC_LIST})
/*ADD_EXECUTABLE生成一个名为hello的可执行文件,相关源文件为${SRC_LIST}列表*/
运行结果:
cmake . //注意命令后面的点号,代表本目录
make //工程的实际构建,生成可执行文件
./hello //运行目标文件,目标文件位于当前目录