CMake 基础使用

发布时间 2023-12-17 13:25:11作者: ZTer
# 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})
#生成可执行程序的名字 + 项目源文件