在项目根目录下创建一个CMakelists.txt文件,内容如下:
cmake_minimum_required(VERSION 2.8)
project( face_detection )
find_package( OpenCV REQUIRED )
message(STATUS "INC ${OpenCV_INCLUDE_DIRS} OK")
find_package(PkgConfig)
pkg_check_modules(LIBUV REQUIRED libuv)
message(STATUS " ${LIBUV_LIBRARY_DIRS} OK")
set(Root "${CMAKE_CURRENT_SOURCE_DIR}")
set(Base64 ${Root}/lib/libb64/src)
include_directories(${OpenCV_INCLUDE_DIRS})
include_directories(${Root})
include_directories(${Root}/lib/libb64/include)
include_directories(${LIBUV_INCLUDE_DIRS})
link_directories(${LIBUV_LIBRARY_DIRS})
add_library(atlas_cv STATIC
cv_atlas.cpp
cv_atlas.h
cv_tool.h
cv_tool.cpp
${Base64}/cencode.c)
set_target_properties(
atlas_cv
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/bin")
其中命令 message 会将参数的内容输出到终端,如果打印变量,需加上${}。
set表示给Root Base64变量赋值
include_directories表示加入编译所需的相关头文件路径
link_directories表示需要链接的库文件路径
add_library表示要生成的库路径以及依赖的源文件名
set_target_properties表示设置库目标的属性,如输出名称和位置。