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

什么是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值