包虫病

注册

 

发新话题 回复该主题

CMakeLists [复制链接]

1#

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可能无法自动编译执行。

预览时标签不可点收录于话题#个上一篇下一篇
分享 转发
TOP
发新话题 回复该主题