CMake
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是CMake的组态档取名为CMakeLists.txt。Cmake并不直接建构出最终的软件,而是产生标准的建构档(如Unix的Makefile或WindowsVisualC++的projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake和SCons等其他类似系统的区别之处。
CMake的使用
cmake的所有语句都写在一个CMakeLists.txt的文件中,CMakeLists.txt文件确定后,直接使用cmake命令进行运行,但是这个命令要指向CMakeLists.txt所在的目录,cmake之后就会产生我们想要的makefile文件。
cmake的执行流程:
$ccmakedirectory$cmakedirectory$make
其中directory为CMakeList.txt所在目录;
1.第一条语句用于配置编译选项,如VTK_DIR目录,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;
2.第二条命令用于根据CMakeLists.txt生成Makefile文件;
3.第三条命令用于执行Makefile文件,编译程序,生成可执行文件;
CMakeList的编写
下面是一个CMakeList的例子
1.#projectname项目名称
2.PROJECT(test_math)
3.#headfilepath添加头文件目录
4.INCLUDE_DIRECTORIES(
5.include
6.)
7.#sourcedirectory添加源文件目录
8.AUXSOURCEDIRECTORY(srcDIR_SRCS)
9.#setenvironmentvariable设置环境变量,环境变量等于函数结果
10.SET(TEST_MATH
11.${DIR_SRCS}
12.)
13.#addexecutablefile添加可执行文件目录
14.ADDEXECUTABLE(../bin/bin${TESTMATH})
15.#addlinklibrary添加链接库
16.TARGETLINKLIBRARIES(../bin/binm)
Note:#后面是注释内容,CMakeLists.txt命名必须完全正确,否则vc可能无法自动编译执行。
预览时标签不可点收录于话题#个上一篇下一篇