cmakefiles解析

cmake_minimum_required(VERSION 2.8) // 定义版本

project(prison_pretreat_service) //设置工程名称

# set(CMAKE_BUILD_TYPE "Debug")//

set(CMAKE_BUILD_TYPE "Release") // 设置编译环境,build 类型(Debug, Release, ...)


set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fvisibility=default -DPRINT")// 设置c++编译选项

# set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -ggdb")

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -w -O0 -g -ggdb")设置debug版本的编译

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O0")//设置release版本的编译


set(CMAKE_PREFIX_PATH "/usr/local/")//前缀路径


find_package(OpenCV) // 查找opencv库

message(STATUS "OpenCV library status:")//输出信息,status正常,warning警告,fatal_error重大错误

message(STATUS "version: ${OpenCV_VERSION}")

#message(STATUS " libraries: ${OpenCV_LIBS}")

message(STATUS "include path: ${OpenCV_INCLUDE_DIRS}")

if(${OpenCV_VERSION} MATCHES "^4")

add_definitions(-DUSE_OPENCV4) // 用于添加编译器命令行标志(选项),通常的情况下我们使用其来添加预处理器定义

message("use opencv4")

endif()



include_directories(${PROJECT_SOURCE_DIR}) // 添加头文件,程序根目录

include_directories(${PROJECT_SOURCE_DIR}/src)

include_directories(/usr/include/glib-2.0)

include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include/)

include_directories(${OpenCV_INCLUDE_DIRS})

include_directories(${GTK2_INCLUDE_DIRS})

include_directories( /usr/include/cryptopp )


link_directories(${PROJECT_SOURCE_DIR}/lib) //添加库目录

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/build)//设置输出目录

ADD_SUBDIRECTORY(src)//用于添加一个需要进行构建的子目录,意味着该目录下也有个CMakeLists.txt 文件


# below is for unit test

option(UNIT_TEST_SWITCH "unit test" OFF) // 添加编译选项

if (${UNIT_TEST_SWITCH} MATCHES ON)

#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/unit_test)

SET(MYTMP_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})

set(CMAKE_CXX_FLAGS "${MYTMP_CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage -fPIC -O0")

ADD_SUBDIRECTORY(unit_test)

set(CMAKE_CXX_FLAGS ${MYTMP_CMAKE_CXX_FLAGS})

endif()

# above is for unit test


if(${CMAKE_BUILD_TYPE} MATCHES "Debug")

ADD_SUBDIRECTORY(test)

endif()

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值