CMake 基础使用
# 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})
#生成可执行程序的名字 + 项目源文件
繁华尽处,
寻一静谧山谷,
筑一木制小屋,
砌一青石小路,
与你晨钟暮鼓,
安之若素。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!