cmake編寫規則
cmake_minimum_required(VERSION 2.8)
#項目信息
project(XXX)
# 創建Release和Debug版本, Release: -O3 -DNDEBUG, Debug: -g
SET(CMAKE_BUILD_TYPE Release)
# 編譯選項
# CMAKE_C_FLAGS: 對應的CFLAGS
# CMAKE_CXX_FLAGS: 對應的CxxFLAGS
# CMAKE_EXE_LINKER_FLAGS: 對應的LDFLAGS
SET(CMAKE_CXX_FLAGS "-std=c++11 -O2 -mfloat-abi=hard -mfpu=neon")
SET(INCLUDE_PATH . ../ /usr/include/eigen3 /srv/boost_1_63_0 )
SET(LINK_PATH /srv/boost_1_63_0/stage/lib )
# 設置rpath
# SET(CMAKE_INSTALL_RPATH .)
# 設置-I
target_include_directories(Camera $(INCLUDE_PATH))
# 設置-L
link_directories($(Link_PATH)$)
# 設置-l
target_link_libraries(Camera PRIVATE libusb)
# 生成可執行文件
add_executable(hello $(SRC_LIST))
# 生成庫文件,SHARED代表動態庫,STATIC代表靜態庫
add_library(usb STATIC ${LIB_SRC_LIST})
# src指的是當前 CMakeLists.txt所在路徑下的src
# 而bin, lib 指的是當前輸出路徑下的bin,lib. 也就是build/bin build/lib
add_subdirectories(src_dir, bin_dir)