---<Cmake 实践>---
---Ubuntu 14.04
1、创建一个cmake文件目录
mkdir -p ~/cmake
2、在cmake文件下创建t1子目录
cd ~/cmake
mkdir t1
cd t1
3、在t1子目录下创建main.c 和 CMakeLists.txt(注意:文件名大小写!)
touch main.c
touch CMakeListst.txt
其中,main.c文件内容如下:
打开main.c文件:
gedit main.c
//main.c #include<stdio.h>
int main()
{
printf("Hello World from t1 Main!\n");
return ;
}
其中,CMakeLists.txt内容如下:
gedit CMakeLists.txt
PROJECT(HELLO) #定义工程名称
SET(SRC_LIST main.c) #SET指令用于显式定义变量
MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR}) #STATUS,输出前缀为-的信息
MESSAGE(STATUS "This is SOURCE dir" ${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST}) #工程生成一个文件名为hello的可执行文件
另外,CMakeLists.txt可简化为:
PROJECT(HELLO)
ADD_EXECUTABLE(hello ,main.c)
4、开始构建
当main.c文件及CMakeLists.txt文件创建完成后,进行构建工程,在该目录下运行:
cmake . (注意命令后面的点号,代表的是本目录)
运行cmake . 指令后,在目录下,可以看到有CMakeFiles、CMakeCache.txt、cmake_install.cmake等文件,并生成了Makefile。
之后,在该目录下输入:make 命令
这时候,目标文件hello已经构建完成,位于当前目录,运行下述指令:
./hello
得到输出: Hello World from t1 Main!
5、在cmake文件下创建t2目录
将t1工程下的main.c 与 CMakeLists.txt 拷贝到t2目录下
6、在目录t2下添加src文件夹
cd ~/cmake/t2
mkdir src
mv main.c src
7、在文件夹src下创建一个CMakeLists.txt,添加内容如下:
ADD_EXECUTABLE(hello main.c)
8、在t2目录下(原从t1中拷贝的)CMakeLists.txt修改为:
PROJECT(HELLO)
ADD_SUBDIRECTORY(src bin)
9、在t2文件路径下,进行编译:
cmake .
make