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)

你可能感兴趣的:(Linux,命令及工具,cmake)