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()
相关推荐
java_logo7 分钟前
2025 最新 Docker 镜像源加速列表与使用指南(10月更新)
运维·docker·容器
蛐蛐蛐7 分钟前
Win11上VS Code免输密码连接Ubuntu的正确设置方法
linux·运维·ubuntu
YongCheng_Liang31 分钟前
锐捷无线控制器基础配置
运维·网络
荣光波比1 小时前
Ansible(三)—— 使用Ansible自动化部署LNMP环境实战指南
运维·自动化·云计算·ansible
七七七七071 小时前
【Linux 系统】理解Linux下一切皆文件
linux·运维·服务器
tjsoft1 小时前
专栏丨华为HN8145XR光猫获取超级管理员密码
运维·服务器·网络
盛满暮色 风止何安2 小时前
网络安全设备 防火墙
服务器·网络·网络协议·计算机网络·安全·web安全·网络安全
荣光波比4 小时前
Docker(五)—— Docker Compose 一键搭建 LNMP 架构并部署 WordPress
运维·docker·容器·云计算
古月-一个C++方向的小白9 小时前
Linux——查看与创建进程
linux·运维·服务器
驱动探索者11 小时前
find 命令使用介绍
java·linux·运维·服务器·前端·学习·microsoft