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()
相关推荐
谷新龙00111 分钟前
Elasticsearch服务器开发(第2版) - 读书笔记 第二章 索引
服务器·elasticsearch
dessler22 分钟前
RabbitMQ-镜像队列(Mirrored Queues)
linux·运维·rabbitmq
发抖吧小喵喵29 分钟前
rpm包直接安装新系统缺少依赖问题处理
linux·运维·服务器
Asuicao1 小时前
最新docker国内镜像源地址大全
运维·docker·容器
xhdll1 小时前
embodied复现所需docker环境配置粗略流程
运维·docker·容器
Nazi61 小时前
dockerfile基础
linux·运维·docker·容器·云计算
跑不了的你1 小时前
Ubuntu 开启wifi 5G 热点
服务器·5g·ubuntu
一只鹿鹿鹿4 小时前
【网络安全】等级保护2.0解决方案
运维·安全·web安全·架构·信息化
自由鬼5 小时前
如何处理Y2K38问题
java·运维·服务器·程序人生·安全·操作系统