CMake基础入门和使用(2)

在项目根目录下创建一个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表示设置库目标的属性,如输出名称和位置。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12513.html