想了很久,不知道从哪开始,今天决定从编写CMakeLists.txt开始吧,以前接触了皮毛,但是今天想更深刻的掌握cmake的东西,这样对于Linux下的运行提供便利,其次是编写makefile感觉有点难,内容多,而cmake简单,语法基本不多。首先cmake到底是什么呢?百度百科的介绍:CMake是一个跨平台的安装( 编译 )工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试 编译器 所支持的C++特性,类似UNIX下的automake。只是 CMake 的 组态档 取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个 集成开发环境 (IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。cmake的使用cmake的所有语句都写在一个CMakeLists.txt的文件中,CMakeLists.txt文件确定后,直接使用cmake命令进行运行,但是这个命令要指向CMakeLists.txt所在的目录,cmake之后就会产生我们想要的makefile文件。cmake执行的流程
-
-
- $> ccmake directory
- $> cmake directory
- $> make
-
其中directory为CMakeList.txt所在目录;
-
- 第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;
- 第二条命令用于根据CMakeLists.txt生成Makefile文件;
- 第三条命令用于执行Makefile文件,编译程序,生成可执行文件;
cmake的执行流程很简单,我们的重点是如何编写CMakeLists.txt文件呢,我们通过例子来学习cmake的语法。
1、一个最简单的例子:输出hello world// main.c