在 CMake 中,file(GLOB_RECURSE) 是一个用来匹配指定路径下所有符合通配符条件的文件的命令。具体来说,GLOB_RECURSE 是递归查找目录下的所有文件,file() 命令则可以用来获取文件列表。

例如,以下的 CMakeLists.txt 文件使用 file(GLOB_RECURSE) 命令查找所有以 .cpp.h 结尾的文件,并将它们存储在 SOURCES 变量中:

cmake_minimum_required(VERSION 3.0)project(MyProject)file(GLOB_RECURSE SOURCES src/*.cpp include/*.h)add_executable(myapp ${SOURCES})

在这个例子中,file(GLOB_RECURSE SOURCES src/*.cpp include/*.h) 命令会递归地查找 srcinclude 目录下所有以 .cpp.h 结尾的文件,并将它们存储在 SOURCES 变量中。然后,add_executable 命令使用 SOURCES 变量中的文件来生成可执行文件 myapp

需要注意的是,使用 file(GLOB_RECURSE) 命令来自动查找文件是方便的,但不是最佳实践。这是因为它会在每次生成时重新扫描文件系统,这可能会导致不必要的重新编译,特别是当新的源文件被添加或删除时。最好的做法是手动列出源文件,以确保只有真正需要的文件被编译。

CMake 中,‘file(GLOB_RECURSE)‘含义及用法相关推荐

  1. Java中static的含义和用法

    Java中static的含义和用法 static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! ...

  2. python的含义和用法_python中列表的含义及用法

    示例 列表是元素的集合,存储在一个变量中.列表中存储的元素类型没有限制,下面是列表的一个简单例子. students = ['bernice', 'arron', 'cody'] for studen ...

  3. CMake中file的使用

    CMake中的file命令用于文件操作,其文件格式如下:此命令专用于需要访问文件系统的文件和路径操作 Readingfile(READ <filename> <variable> ...

  4. python中main的含义及用法_python中main函数的用法

    Python Python开发 Python语言 python中main函数的用法 什么场景下会有main函数? 当该python脚本被作为模块(module)引入(import)时,其中的main( ...

  5. android中tools的含义及用法

    终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 第一部分 安卓开发中,在写布局代码的时候,ide可以看到布局的预 ...

  6. C#中File和FileStream的用法

    在近期的工作过程中发现自己的基础比较薄弱,所以最近在恶补基础知识.下面就对我所学习的File类和FileStream进行简单的总结. 1.首先先介绍File类和FileStream文件流 1.1  F ...

  7. drop table中cascade的含义及用法

    在删除一个表时,如果该表的主键是另一个表的外键,如果不用cascade关键字就会报错: SQL> drop table dict_loc_type;drop table dict_loc_typ ...

  8. java中static什么意思_Java中static的含义和用法

    static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! 3.当成员被static修饰之后, ...

  9. 简单说明xml文件中foreach中collection的含义和用法

    前提: 一般出现在mybatis框架中,写sql的xml文件中 目的: 方便在xml文件中写含有in的sql:例如:select * from table where name in ("1 ...

最新文章

  1. ResNets王者回归!谷歌、伯克利联合发文:它当初输给EfficientNets不是架构问题...
  2. 为什么 AI 工程师要懂一点架构?
  3. 笔记:常用SQL语句
  4. 论文浅尝 - ACL2020 | 用于多媒体事件提取的跨媒体结构化公共空间
  5. yearning 2. 部署_对于企业来说,在选择协同办公系统的时候,选择私有化部署的数据安全一些,还是使用云服务器比较安全?...
  6. 找到bug的根源,问五次为什么
  7. Spring Boot学习总结(27)—— Spring Boot中两个数据库迁移工具Liquibase和Flyway的比较
  8. mysql的实践小结的作文_MySql小结
  9. 树莓派入门教程 - 0 - 准备篇 - 0.4 树莓派安装FTP服务器
  10. xcode5 ios7 64位 iphone5s引用第三方库报错的解决办法
  11. Qt窗口部件——QWidget
  12. node mysql sequlize_初步使用Sequelize模块 - Node实战
  13. MATLAB车牌识别系统
  14. 写确认/Write Acknowledgment(Write Concern)
  15. 雷军:《我十年的程序员生涯》系列之三:阳光灿烂的日子
  16. CSDN如何修改用户名(CSDN ID)、用户昵称以及自定义博客域名等
  17. FireFox下无法打开12306的用户登陆界面
  18. 优矿量化如何完成Alpha对冲模型测试?
  19. 第十一届蓝桥杯大赛软件类决赛(2020javaB国赛)
  20. TCP: too many of orphaned sockets报错解决

热门文章

  1. 一个普通男人眼中的不错的男人
  2. 镀铯银针玻璃球摄像管
  3. Linux下的C学习笔记
  4. 定了!苹果发布会将于9月11日召开,今年的看点有这些
  5. js原型对象和原型链理解
  6. vscode 重命名之后卡顿,提示正在运行“文件重命名“参与者...
  7. 计算机学院运动会搞笑解说词,学院运动会解说词「精选」
  8. IDEA debug模式下修改变量后运行
  9. 实现iframe嵌套页面通信
  10. Redis的数据删除策略