[英]CMake glob list of files without directory path
我在该网站上进行了广泛的搜索,但似乎找不到解决此问题的方法:
如果您在CMake中使用文件(GLOB ..)列出文件列表,则所有文件都将列出其完整路径。
我如何在CMake中全局保存一组文件,仅保存文件名?
我阅读了官方手册 ,在这里我发现了这一点:
file(GLOB <variable>
[LIST_DIRECTORIES true|false] [RELATIVE <path>]
[<globbing-expressions>...])
和
By default GLOB lists directories - directories are omitted in result
if LIST_DIRECTORIES is set to false.
我尝试了这些解决方案,但是它们都不起作用:
file(GLOB_RECURSE src_files LIST_DIRECTORIES false ${SRC})
file(GLOB_RECURSE src_files LIST_DIRECTORIES=false ${SRC})
file(GLOB_RECURSE src_files LIST_DIRECTORIES(false) ${SRC})
set(LIST_DIRECTORIES false)
file(GLOB_RECURSE src_files ${SRC})
但是这些似乎都不起作用。 我的输出始终是带有完整路径的文件列表。 我知道我可以使用RELATIVE来相应地设置路径,但是如果可以的话,我宁愿避免使用它。
谢谢您的回答!
在给定位置${SRC}
包含文件和目录的情况下, LIST_DIRECTORIES
用于在结果中包括/排除目录。
如果要摆脱路径,请对file(GLOB_RECURSE...)
结果file(GLOB_RECURSE...)
使用foreach
以及get_filename_component
尝试
file(GLOB_RECURSE LIST_DIRECTORIES false src_files ${SRC})
文档是错误的, LIST_DIRECTORIES
在变量之前
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.