#CMake最低版本号要求
cmake_minimum_required(VERSION 2.8)
#指定项目名称
project(openailab_four_monitor)
#指定工程需要用到的一些库
set(ENV{PKG_CONFIG_PATH} /usr/local/AID/pkgconfig)
find_package(PkgConfig)
pkg_search_module(BLADECV REQUIRED bladecv)
pkg_search_module(GTK REQUIRED gtk±3.0)
#find_package(PkgConfig)
#find_package(Qt5 REQUIRED Widgets)
#find_package(Qt5 REQUIRED Core)
#find_package(Qt5 REQUIRED Gui)
#包含c++11特性
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++11 -g”)
#指定版本信息
set(CMAKE_SYSTEM_VERSION 1)
#若是需要指定编译器路径
#set(CROSS_TOOLCHAIN_PREFIX “/path/arm-linux-”)
#指定编译器
#set(CMAKE_C_COMPILER “KaTeX parse error: Expected 'EOF', got '#' at position 31: …N_PREFIX}gcc") #̲set(CMAKE_CXX_C…{CROSS_TOOLCHAIN_PREFIX}g++”)
#使用默认路径的g++指定编译器
set(CMAKE_CXX_COMPILER “g++”)
#指定编译选项
set(CMAKE_BUILD_TYPE Debug )
#指定编译目录
set(PROJECT_BINARY_DIR ${PROJECT_SOURCE_DIR}/build)
#添加子目录,这样进入源码文件src目录可以继续构建
#add_subdirectory(${PROJECT_SOURCE_DIR}/src)
#查找当前目录下的所有源文件,
#并将名称保存到DIR_LIB_SRCS目录
#aux_source_directory(. DIR_LIB_SRCS)
#指定头文件目录,PROJECT_SOURCE_DIR为工程的根目录
include_directories(
${PROJECT_SOURCE_DIR}/include
/usr/local/AID
${BLADECV_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
)
#添加需要链接的库文件目录
link_directories(
/usr/lib64/
${BLADECV_LIBRARY_DIRS}
${GTK_LIBRARY_DIRS}
)
#添加编译参数和横定义
#option(USE_BLADECV “bladecv” ON)
#if(USE_BLADECV)
#add_definitions(-DBLADECV)
#endif()
#设置编译选项(会将gcc g++全部加上)
#add_compile_options(-g -std=c++11)
add_compile_options(-fPIC)
#指定可执行文件的输出目录,输出到bin下面
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#生成动态库
#add_library(shared_demo SHARED demo.cpp -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lpthread
#-lbcv -lgtk-3 -lrtspclient)
#设置库输出名为 shared => libshared.so
#set_target_properties(shared_demo PROPERTIES OUTPUT_NAME “shared”)
#生成静态库
#add_library(static_demo STATIC demo.cpp -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lpthread
#-lbcv -lgtk-3 -lrtspclient)
#设置输库出名为 static => libstatic.a
#set_target_properties(static_demo PROPERTIES OUTPUT_NAME “static”)
#指定库文件输出路径
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
#在指定目录下查找库,并保存在LIBPATH变量中
#find_library(LIBPATHS shared ${PROJECT_SOURCE_DIR}/lib /usr/lib64)
#指定生成目标
add_executable(demo demo.cpp)
#链接共享库
target_link_libraries(demo -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lpthread
-lbcv -lgtk-3 -lrtspclient ${BLADECV_LDFLAGS} ${GTK_LDFLAGS})