cmake--file

教程

参数

需要指定文件后缀

GLOB

只搜索当前目录

GLOB_RECURSE

:搜索当前目录和其子目录(递归搜索)

RELATIVE

相对于哪个路径进行搜索,获取文件的相对路径。

使用RELATIVE和不使用RELATIVE的区别:

1,当不使用RELATIVE时:

指定一个搜索路径,路径后紧跟文件类型:

复制代码
cmake_minimum_required(VERSION 3.10)
project(file_test)

file(GLOB_RECURSE inclu_src ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
message("inclu_src: ${inclu_src}")

获取的文件的路径:绝对路径:

2,使用RELATIVE时:

指定的搜索路径是一个目录,目录的后边一个参数是搜索的文件类型;

复制代码
cmake_minimum_required(VERSION 3.10)
project(file_test)

file(GLOB_RECURSE inclu_src RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/include *.hpp)
message("inclu_src: ${inclu_src}")

获取的文件的路径:

只包含RELATIVE指定的目录之后的路径;

file---list实现删除不需要的文件

复制代码
file(GLOB_RECURSE H_CPP_FILE
    RELATIVE ${PROJECT_SOURCE_DIR}
    "*.h"
    "*.cpp"
    "*.ui"
)
file(GLOB_RECURSE del_file
     RELATIVE ${CMAKE_SOURCE_DIR}
     "include/*"
)

foreach(d_file ${del_file})
    list(REMOVE_ITEM H_CPP_FILE ${d_file})
endforeach()
相关推荐
ζั͡山 ั͡有扶苏 ั͡✾9 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai10 小时前
python写的文件备份网盘程序
运维·服务器·网络
Warren9810 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
欢喜躲在眉梢里11 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_5377658011 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器
胡斌附体11 小时前
docker健康检查使用
运维·docker·依赖·健康检查
云飞云共享云桌面11 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张11 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
虚伪的空想家12 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm
火车头-11012 小时前
【docker 部署nacos1.4.7】
运维·docker·容器