# This is a CMakeLists.txt
#[[
This is a CMakeLists.txt
This is a CMakeLists.txt
This is a CMakeLists.txt
* CMake 生成的 make 文件以及一些其他的乱七八糟的文件都在终端当前对应的目录中
]]
cmake_minimum_required(VERSION 3.15)
#最低 CMake 版本
project(CMakeLearning)
#工程的名字 ( + 当前项目版本 + 当前项目描述 + 网页Homepage + 构建项目语言)
set(SRC_LIST add.cpp div.cpp mul.cpp main.cpp sub.cpp)
#定义变量为当前目录下所有工程源代码
#自动搜索变量
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC1)
#路径名 + 变量名,取出路径中所有的源文件到变量中
#PROJECT_SOURCE_DIR 指的是 CMakeLists.txt 的路径
file(GLOB SRC2 ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
#GLOB 当前目录搜索,GLOB_RECURSE 当前目录以及子目录搜索 + 变量名 + 路径 + 文件类型(后缀名
#CMAKE_CURRENT_SOURCE_DIR 指的是 CMakeLists.txt 的路径
include_directories(${PROJECT_SOURCE_DIR}/include)
#设置头文件所在目录
set(CMAKE_CXX_STANDARD 11)
#定义宏编译C++标准,终端输入时后面加 -DCMAKE_CXX_STANDARD=11,在 C++ 11标准下生成可执行文件
set(EXECUTABLE_OUTPUT_PATH .)
#生成可执行文件的目标位置,相对 make 文件的路径或者绝对路径均可
#这里是指定生成到 make 相同的路径下
add_executable(app ${SRC1})
#生成可执行程序的名字 + 项目源文件
标签:CMakeLists,CMake,基础,SOURCE,使用,cpp,txt,DIR
From: https://www.cnblogs.com/zaza-zt/p/17908978.html