#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})