您的位置:首页 > 其它

CMakeList.txt脚本文件及Cmake常用命令

2017-11-05 12:06 246 查看

什么是CMakeList.txt?

CMakeList.txt什么,简单地说就相等于linux下的Makefile文件,将需要的.h文件和.cpp文件包含起来,然后在不同平台下使用Cmake调用各自编译器生成各自的工程。

1 CMakeList.txt的写法

建立VTK应用程序之前,需要先写一个CMakeList.txt脚本文件。

先建立一个文件夹,为便于示例程序文件的管理,在“vtk/Examples”目录里新建一个名为“Chap01”的文件夹,Examples文件夹里存放所有示例程序,先知其然,后面在知其所以然。

接着在新建的示例程序目录下创建一个名为“CMakeList.txt”的记事本文件,输入内容为:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(Chap01)
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
ADD_EXECUTABLE(Test Test.cpp)
TARGET_LINK_LIBRARIES(Test vtkRendering vtkCommon)


然后在CMakeList.txt同级目录下新建一个cpp文件,名为Test.cpp,然后写入代码。

2 CMake的几个常用命令

2.1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

该命令用于指定构建工程时所需的CMake版本要求。(注意:CMake的命令是不区分大小写的)

第一个参数VERSION是必须得关键字。第二个参数为指定CMake的版本号,第三个是可选参数。

2.2 PROJECT(Chap01)

用该命令指定工程名称,也可指定工程支持的语言,支持语言的参数为可选参。默认支持c/c++,该命令还隐含两个CMake变量:工程的编译路径和源码路径。

2.3 FIND_PACKAGE(VTK REQUIRED)

FIND_PACKAGE 命令用于搜索并加载外部工程,其隐含的变量用于标示是否搜索到所需的工程。FIND_PACKAGE命令搜索的就是VTK的配置文件VTKConfig.cmake.

2.4 INCLUDE(${VTK_USE_FILE})

指定载入一个文件或者模块,如果指定的是模块,那么将在CMAKE_MODULE_PATH中搜索这个模块并载入,本利指定的是VTK模块,则会在CMAKE_MODULE_PATH中搜索VTK模块并载入。

2.5 ADD_EXECUTABLE(Test Test.cpp)

定义这个工程会生成一个文件名为Test 的可执行文件,相关的源文件通过source1 source2 、、、列出。

如果有多个源文件,也可以先用SET命令定义一个变量,然后再取变量值的操作符${}获取源文件列表。

2.6 TARGET_LINK_LIBRARIES(Test vtkRendering vtkCommon)

指定生成的可执行文件时需要链接哪些文件 参数Test 必须与第五行指定的可执行文件的名字一致。本例指定需要链接的函数库为vtkRendering,在写这些链接函数库的时候不需要带“.lib”的后缀。

小结

在安装VTK之前需要做充分的准备工作,了解编译安装VTK前需要先安装哪些软件,然后一步一步演示如何编译VTK,这个过程还是比较简单的,编译完VTK后。通过一个非常简单的VTK小程序,显示一个VTK窗口。并且要学会CMakeList.txt脚本的写法,并掌握6个CMake命令,分别是
CMAKE_MINIMUM_REQUIRED、PROJECT、FIND_PACKAGE、INCLUDE、ADD_EXECUTABLE、TARGET_LINK_LIBRARIES
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: