总结
1 指定版本
#务必安装的cmake版本高于给定的最低版本,否则终止构建
CMAKE_MINIMUM_REQUIRED(VERSION 3.2 FATAL_ERROR)
2 指定项目名字
PROJECT(demo1)
3 生成可执行文件 参数1 生成可执行文件的名字 参数 2-n 依赖的文件
ADD_EXECUTABLE(demo1 main.cpp)
4 给路径起 别名 参数1 路径 参数2 别名
例子:
AUX_SOURCE_DIRECTORY(./ DIR_SRCS) // 当前目录为 DIR_SRCS
ADD_EXECUTABLE(demo2 ${DIR_SRCS}) // 生成可执行文件
5 指定包含的子目录的路径
ADD_SUBDIRECTORY(./mylib) 包含下级目录的 mylib
6 链接 要生成的模块 跟 库(不区分 动态库跟静态库)
参数 1 要生成的模块 参数 2 库
7 生成模块
参数1 生成的模块名字 参数 2 模块类型 参数 3需要的文件
例如
aux_source_directory(. DIR_LIB_SRCS)
add_library(Mylib STATIC ${DIR_LIB_SRCS}) 1 生成的模块为 Mylib 2 为静态库 3为依赖的文件
8
指定头文件路径
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/mylib)
9
指定生成的模块的路径
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
参考源码
https://github.com/AdamWSL/CMake_Tutorial.git