目录
1 mkdir project_macro
2 在project_marco中建立CMakeLists.txt
3 建立专门的src文件夹
4 在src中添加main.cpp和CMakeLists.txt
5 回到project_macro目录,建立build文件夹
6 进入build 文件夹,开始cmake
7 在build文件夹里执行make指令
8 make之后,你将在bin文件夹里发现结果文件main
1 mkdir project_macro
2 在project_marco中建立CMakeLists.txt
cd project_macro
touch CMakeLists.txt
CMakeLists.txt内容:
PROJECT(hello)
ADD_SUBDIRECTORY(src bin)
这里,src文件夹需要稍后手动建立,因为在cmake之前,src里面要放进去源码。但是bin文件夹不需要手动建立,因为cmake过程中会自动建立bin。bin用来存放编译产生的结果文件。bin只是习惯的名称,你也可以换个名字,如bin1。
这里顺便讲一下ADD_SUBDIRECTORY的用法
它的第一个输入参数是用来存放源代码的文件夹,第二个参数是用来存放编译结果的文件夹。第二个参数可以输入,也可以不输入。假如不输入,则用来存放编译结果的文件夹就是${PROJECT_BINARY_DIR} ;假如ADD_SUBDIRECTORY第二个参数有内容,比如是bin,则用来存放编译结果的文件夹就是${PROJECT_BINARY_DIR}/bin(注:${EXECUTABLE_OUTPUT_PATH}或者${LIBRARY_OUTPUT_PATH}这两个变量默认是无内容的,但是变量PROJECT_BINARY_DIR总是有内容)(见我的下一篇博客)
3 建立专门的src文件夹
mkdir src
4 在src中添加main.cpp和CMakeLists.txt
cd src
CMakeLists.txt
ADD_EXECUTABLE(main main.cpp)
main.cpp
#include <stdio.h>
int main(void)
{
printf("123\n");
return 0;
}
5 回到project_macro目录,建立build文件夹
cd ..
mkdir build
此时project_macro文件夹、src文件夹、build文件夹内容如下:
6 进入build 文件夹,开始cmake
cd build
cmake ..
cmake后的build文件夹内出现一些中间文件如makefile,另外ADD_SUBDIRECTORY中加入的bin也出现在build里面。但是bin里面还没有最终结果,因为还没做make:
7 在build文件夹里执行make指令
8 make之后,你将在bin文件夹里发现结果文件main
执行看结果: