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()
相关推荐
ChineHe15 分钟前
Nginx进阶篇 - nginx多进程架构详解
运维·服务器·nginx·架构
m0_674031431 小时前
sql版本序列号
服务器·数据库·sql
时差freebright1 小时前
【Linux系统】线程:线程的优点 / 缺点 / 超线程技术 / 异常 / 用途
linux·运维·服务器
雨中rain1 小时前
【负载均衡式在线OJ】实现负载均衡
运维·负载均衡
努力的小T1 小时前
在Linux上部署Jenkins的详细指南
linux·运维·服务器·云计算·jenkins
致奋斗的我们2 小时前
rsync增量同步
linux·运维·服务器·网络·shell·rsync·openeurler
狮歌~资深攻城狮2 小时前
Elasticsearch入门技术:从零开始掌握全文搜索引擎
运维·jenkins
HoneyMoose2 小时前
Nginx SSL: error:1410D0B 错误
运维·nginx·ssl
洛嘚4 小时前
多数据源配置及使用,在同一个方法下切换数据源。
java·服务器·数据库
m0_748251724 小时前
使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南
运维·nginx·https