cmake使用小方法
cmake的使用重点是写CMakeLists.txt文档,比如一个Hello word.cpp利用cmake 的执行方法是
1.写CMakeLists.txt文档
1)PROJECT(Hello word) #建立一个工程,类似于VS中的windows控制工程,这一行建立两个变量HELLO_BINARY_DIR和HELLO_SOURCE_DIR,同时cmake自动定义了两个等价的变量PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR,由于Out-Of-Source方法的构建,这两个变量对应的目录,可以通过MESSAGE来输出变量的值。
2)SET(SRC_LIST Hello word.cpp) #用于设置变量
3)MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR}) #输出变量的值
4)MESSAGE(STATUS "This is SOURCE dir"${HELLO_SOURCE_DIR})#输出变量的值
5)ADD_EXECUTABLE(Hello word ${SRC_LIST})#用于告诉工程生成一个可执行文件
2.在终端输入 cmake ./Hello word.cpp所在的目录
比如 cmake ./simple(注意Hello word.cpp和cmakelists.txt必须放在同一个文件下)
3. 输入make命令(可生成makefile文件,以及程序的输出结果,放在Hello word下)
4.输入ls(显示执行make后的生成文件)
5. 输入 ./Hello word(即可输出程序的执行结果)
******************************************************************************************************************************
对于调用opencv函数库的程序,CMakeLists.txt的书写方法为
1.cmake_minimum_require(version 2.8)
2.PROJECT(Opencv_simple)
3.IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are:None (CMAKE_CXX_FLAG or CMAKE_C_FLAG used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
ENDIF()
4.find_package(OpenCV REQUIRED)
5.ADD_EXECUTABLE(simple simple.cpp)
6.FIND_PACKAGE(OpenCV REQUIRED)
7.IF(OpenCV_FOUND)
TARGET_LINK_LIBRARIES(simple ${OpenCV_LIBS})
ENDIF()