Cmake的作用及基本使用(linux)
我们希望开发出的程序能够在不同的系统环境中运行,比如在LINUX中开发出的的程序能够在Windows和Android系统中运行。这时就需要使用Cmake来进行版本控制。Cmake可以自动生成适合于目标平台的工程文件。
正在安装ITK和VTK的过程中调用cmake是一样的原因。
在使用Cmake对项目进行编译的时候,需要对项目文件配置cmakelist.txt文件,Cmakelist.txt中记录的是编译项目文件时候的需求。下面为一个cmakelist.txt文件的简单例子。
`# This is the root ITK CMakeLists file.
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR) #所需要的cmake的最低版本需求
foreach(p
## Only policies introduced after the cmake_minimum_required
## version need to explicitly be set to NEW.
CMP0070 #3.10.0 Define file(GENERATE) behavior for relative paths.
CMP0071 #3.10.0 Let AUTOMOC and AUTOUIC process GENERATED files.
)
if(POLICY ${p})
cmake_policy(SET ${p} NEW)
endif()
endforeach()
#This project is designed to be built outside the Insight source tree.
project(HelloWorld) #项目名称
#Find ITK. #指定特殊头文件所在的目录
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(HelloWorld HelloWorld.cxx )
target_link_libraries(HelloWorld ${ITK_LIBRARIES})#指定编译文件所需要的全路径`
在配置完cmakelist.txt文件之后,将cmakelist.txt与项目文件(.cpp)放在同一个文件夹下,并在该文件夹下创建一个build文件夹(名称不限,习惯使用build,可在命令窗口中进入所在路径后使用如下命令实现)。
mkdir ./build
在命令窗口中使用如下命令进入到build文件中
cd ./build
执行:
cmake ../项目文件名
make
其中…/是指待编译文件处于上一级目录中,之后在build路径下输入
./项目名(无后缀)
即可运行项目