CMake基础教程(32)文件搜索指令FILE
Posted 奇妙之二进制
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMake基础教程(32)文件搜索指令FILE相关的知识,希望对你有一定的参考价值。
常常需要搜索符合某些特征的文件,例如以.cc结尾的源文件,以.h结尾的头文件。
add_xxx()这条命令比较low的地方是,不支持通配符,例如:
add_library(xx src/*.cc)
我们试图想通过*.cc来添加src目录下的所有源文件,这条命令做不到。
我们可以借助file命令的搜索功能,file命令支持很多功能,例如文件读写、打包、权限修改等,我们只学其最常用的功能。
file(GLOB <variable>
[LIST_DIRECTORIES true|false] [RELATIVE <path>] [CONFIGURE_DEPENDS]
[<globbing-expressions>...])
file(GLOB_RECURSE <variable> [FOLLOW_SYMLINKS]
[LIST_DIRECTORIES true|false] [RELATIVE <path>] [CONFIGURE_DEPENDS]
[<globbing-expressions>...])
globbing-expressions是匹配表达式,支持多个,以空格间隔开即可,例如:
*.cc *.h。
LIST_DIRECTORIES true 表示目录也显示
LIST_DIRECTORIES false表示过滤目录
最终的搜索结果会保存在变量variable中。
RELATIVE
例子:
以上是关于CMake基础教程(32)文件搜索指令FILE的主要内容,如果未能解决你的问题,请参考以下文章
cmake基础教程(42)configure_file动态生成头文件
CMake基础教程(26)find_package搜索包完成库链接和头文件添加(module模式)
CMake基础教程(27)find_package搜索包完成库链接和头文件添加(config模式)