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
相关文章推荐
- 文件、目录操作常用命令.txt
- ubuntu下创建数据库的常用命令,及流程,以及sql脚本文件格式
- maven打包pom.xml配置,及mvn命令,另附常用清除lastUpdated文件的脚本
- 常用命令及系统环境变量的设置——脚本文件
- cmake中CMakeLists.txt脚本的常用语法
- linux常用命令——2.文件搜索命令
- python脚本――自动推送txt,EXCEL等文件模板
- LinuxStudyNote(12)-Linux常用命令(2)-文件处理命令(7)mv文件目录剪切及更名
- linux 下常用的文件和目录操作命令(转)
- nfs挂载网络文件系统,常用命令
- 1003.在线视频―Linux速成教程(三)常用命令和文件操作
- 批处理文件的DOS常用命令
- LinuxStudyNote(15)-Linux常用命令(2)-文件处理命令(10)-cat显示文件内容命令(1)
- 四个常用的Linux文件基本操作管理命令
- MySQL导入.sql文件及常用命令
- 以一个实例说明 CMakeLists.txt 文件的编写
- Ubuntu下使用VI编辑文件必知的常用命令
- android 在module内创建CMakeLists.txt来实现生成多个.so文件
- Git常用命令;文件的pull&push
- Hadoop 文件操作常用的命令