【CMake】使用CMake在Visual Studio内构建多文件夹工程

一、配置准备

打开VIsual Studio,载入写好的 C M a k e l i s t s . t x t CMakelists.txt CMakelists.txt,在项目中添加以下文件:

创建一个文件夹 f u n c s funcs funcs,里面放入 f u n c . h func.h func.h、 f u n c . c p p func.cpp func.cpp、 C M a k e l i s t s . t x t CMakelists.txt CMakelists.txt文件。

接着,配置主 C M a k e CMake CMake文件:

复制代码
#需求的最低cmake程序版本
cmake_minimum_required(VERSION 3.12)

#本工程的名字
project(OpenGL)

#支持的C++版本
set(CMAKE_CXX_STANDARD 20)

#搜所有的cpp,加入SRCS变量中
aux_source_directory(. SRCS)

#本工程主程序文件及输出程序名称,生成exe
add_executable(glStudy ${SRCS})

#将funcs文件夹添加为子文件夹
add_subdirectory(funcs) 

#添加myFuncs链接库
target_link_libraries(glStudy myFuncs)

然后再 f u n c s funcs funcs文件夹内也创建一个 C M a k e l i s t s . t x t CMakelists.txt CMakelists.txt文件,配置信息如下:

复制代码
#递归将本文件夹下所有cpp放到FUNCS中
file(GLOB_RECURSE FUNCS ./  *.cpp)

#将FUNCS中所有cpp编译为funcs这个lib库
add_library(myFuncs ${FUNCS} )

在 m a i n . c p p main.cpp main.cpp中载入头文件:

cpp 复制代码
#include"funcs/func.h"

保存,编译运行后:

相关推荐
yaoxin5211231 天前
417. 现代 Java IO 最佳实践 - 高效遍历、ZIP 处理与临时文件管理
java·开发语言·windows
curry____3031 天前
邻接矩阵 和 领接表 和 链式前向星对比
数据结构·c++·算法
deepin_sir1 天前
02 - 第一个 Python 程序
开发语言·python
山上三树1 天前
协程详细介绍
开发语言
赵钰老师1 天前
R语言与作物模型(以DSSAT模型为例)融合应用
开发语言·数据分析·r语言
是星辰吖~1 天前
C++_string类_调用及模拟实现
开发语言·c++
梦想的旅途21 天前
实现企微外部群主动发送接口:从 0 到 1 实现主动给客户发送的业务实战
java·开发语言·企业微信
csdn_aspnet1 天前
C++ 算法 LeetCode 编号 70 - 爬楼梯
开发语言·c++·算法·leetcode
神仙别闹1 天前
基于C语言来实现图形界面画板的功能
c语言·开发语言·单片机
xyq20241 天前
AJAX 简介
开发语言