1、简单项目
对于单个文件的简单项目
# 表示cmake的最低版本
cmake_minimum_required (VERSION 2.6)
# 表示目前编译的项目
project (day07)
# 表示当前编译使用c++14版本来编译程序
set(CMAKE_CXX_STANDARD 14)
# 设置编译模式为Debug/Release模式
set( CMAKE_BUILD_TYPE "Debug" )
# 表示项目的执行程序, 括号中的day07 表示最终生成的执行程序名称, 后面的表示程序的源码文件
add_executable(day07 main.cpp)
2、多项目
-
每一个子工程中都需要一个CMakeLists
#子目录CMakeLists add_executable(bb bb.cpp)
-
主项目需要关联子项目
cmake_minimum_required(VERSION 3.14) project(AA) set(CMAKE_CXX_STANDARD 14) # BB为子目录名称 add_subdirectory(BB) add_executable(aa aa.cpp)
3、变量
与shell一致,变量用set,输出变量用message
set(AGE 18) #定义一个变量AGE 值是18
set(AGE ${AGE} 19) #对变量进行追加
# 定义数组
list(APPDEND )
#内置变量
${PROJECT_SOURCE_DIR} :当前工程的路径地址
${PROJECT_BINARY_DIR} : 编译路径
${PROJECT_NAME} : 项目名称
${CMAKE_MODULE_PATH} : 把CMakeLists.txt里用来寻找特定库find_library()、include_directories()的内容分离出来
${EXECUTABLE_OUTPUT_PATH} : 指定可执行程序的路径为bin
输出变量
# 输出警告信息
message(WARNING "这是警告信息")
# 输出正常
message(STATUS "这是正常输出")
set(AGE ${AGE} 19);
message(STATUS ${AGE})
4、 定义宏
可以在cmakelist.txt中定义宏