一、基础配置
1.版本号
cmake_minimum_required(VERSION 3.2)
2.项目名
project(xxx)
3.预定义宏
add_definitions(-Dxxx)
二、导入
1.链接库头文件路径
include_directories(xxx)
2.链接库文件地址
link_directories(xxx)
3.编译源文件
1)添加源文件
set(变量名 xxx.cpp xxx.h)
2)追加源文件
list(APPEND 变量名 xxx)
4.链接的库文件
1)源文件库
target_link_libraries(项目别名 库名)
2)生成好的库
target_link_libraries(项目别名 路径/库名)
3)系统库
find_library(变量名 系统库名)
target_link_libraries(项目别名 变量名)
5.引入子项目
【cmake语法简介】add_subdirectory(xxx)
三、导出
1.导出路径
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/${ANDROID_ABI})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${ANDROID_ABI})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${ANDROID_ABI})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
2.生成最终目标
1)可执行程序
add_executable(工程名 ${变量名} ${变量名})
2)库文件
add_library(工程名 STATIC/SHARED ${变量名}} ${变量名}})
四.其它
1.系统宏
1)设置可执行文件的输出路径
EXECUTABLE_OUTPUT_PATH
2)设置库文件的输出路径
LIBRARY_OUTPUT_PATH
3)设置C++编译参数
CMAKE_CXX_FLAGS