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()
相关推荐
红姐跨境书5 小时前
Facebook账号频繁被要求验证怎么办?从登录异常到浏览器环境排查
运维·服务器
月落汀兰6 小时前
服务器出问题没人告警?Zabbix6.0 LNMP 部署,MySQL 监控 + 邮件告警保姆级实战
运维·服务器·zabbix
运维踩坑日记6 小时前
【无标题】
linux·运维·windows
xiaoyunxuexibiji6 小时前
供应商绩效评价体系如何建立?从评价指标到自动化考核
运维·人工智能·自动化
骇客野人6 小时前
CI/CD A 服务器(构建机)免密登录 B 服务器(目标部署机)完整操作
服务器·servlet·ci/cd
Z21-X6 小时前
云原生运维学习笔记:从云计算概念到服务器硬件的入门之旅
运维·笔记·学习·云原生
虚无的纽扣6 小时前
【Linux】线程(下):怎么创建、终止与分离一个线程
linux·运维·服务器
墨神谕6 小时前
Docker 数据卷(Volume)详解:Dockerfile 声明、Docker Compose 挂载宿主机目录及持久化实战
运维·docker·容器
FITA阿泽要努力6 小时前
/goal 命令:给 Agent 设定目标
服务器·人工智能·python·agent
zh73146 小时前
Docker Desktop docker_data.vhdx 使用时间长了过大,解决办法
运维·docker·容器