首页 > 代码库 > cmake使用小方法

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()

 

cmake使用小方法