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()
相关推荐
真正的醒悟2 小时前
2025【1460天】网络工程师经验之道
运维·服务器
Tim风声(网络工程师)5 小时前
不同射频对应不同mac地址(查找无线用户连接AP信息)
服务器·网络·tcp/ip·智能路由器·无线ap
JosieBook7 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
鳄鱼杆9 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker
羚羊角uou9 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)9 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
曾经的三心草9 小时前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
逍遥浪子~9 小时前
docker实践(一)
运维·docker·容器
AI云原生10 小时前
如何使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的教程
运维·docker·云原生·容器·serverless·firefox·kubeless
今生相伴99110 小时前
ELFK:企业级日志管理的完整解决方案——从入门到精通
运维·elk·elasticsearch