cmake作成規則のまとめ


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)