声明cmake最低版本
cmake_minimum_required( VERSION 2.8 )
声明一个cmake工程
project( HelloSLAM )
创建库
- 静态库
add_library( hello libHelloSLAM.cpp )
- 动态库
add_library( hello SHARED libHelloSLAM.cpp )
将可执行程序链接到库上
add_executable( useHello useHello.cpp )
target_link_libraries( useHello hello )
设置构建类型
set(CMAKE_BUILD_TYPE "Release") # Debug
指定编译选项
set(CMAKE_CXX_FLAGS "-O3")
指定所需要的头文件所在目录
include_directories( /usr/include/eigen3 )
find_package使用
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIR})
target_link_libraries(curltest ${CURL_LIBRARY})
参考:https://www.cnblogs.com/newneul/p/8364924.html
SET指令
语法: SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
指令功能: 用来显式的定义变量
例子: SET (SRC_LST main.c other.c)
说明: 用变量代替值,例子中定义SRC_LST代替后面的字符串。
https://blog.csdn.net/guanguanboy/article/details/84838920