没有目录路径的CMake glob文件列表
CMake glob list of files without directory path
我在这个网站和其他网站上进行了广泛的搜索,但我似乎找不到解决这个问题的办法:
如果您在 CMake 中使用 file(GLOB..) glob 文件列表,所有文件都会列出并附有完整路径。
如何在 CMake 中对一组文件进行 glob,只保存文件名?
我阅读了 official manual 并在这里找到了这个:
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.
我尝试了这些解决方案,但其中 none 有效:
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})
但其中 none 似乎有效。我的输出始终是附有完整路径的文件列表。我知道我可以使用 RELATIVE 来相应地设置路径,但如果可以的话我宁愿避免它。
感谢您的回答!
LIST_DIRECTORIES
用于在给定位置 ${SRC}
包含文件和目录的情况下在结果中 include/exclude 目录。
如果您想摆脱路径,请对 file(GLOB_RECURSE...)
的结果使用 foreach
和 get_filename_component
尝试
file(GLOB_RECURSE LIST_DIRECTORIES false src_files ${SRC})
文档有误,LIST_DIRECTORIES
出现在变量
之前
我在这个网站和其他网站上进行了广泛的搜索,但我似乎找不到解决这个问题的办法:
如果您在 CMake 中使用 file(GLOB..) glob 文件列表,所有文件都会列出并附有完整路径。
如何在 CMake 中对一组文件进行 glob,只保存文件名?
我阅读了 official manual 并在这里找到了这个:
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.
我尝试了这些解决方案,但其中 none 有效:
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})
但其中 none 似乎有效。我的输出始终是附有完整路径的文件列表。我知道我可以使用 RELATIVE 来相应地设置路径,但如果可以的话我宁愿避免它。
感谢您的回答!
LIST_DIRECTORIES
用于在给定位置 ${SRC}
包含文件和目录的情况下在结果中 include/exclude 目录。
如果您想摆脱路径,请对 file(GLOB_RECURSE...)
foreach
和 get_filename_component
尝试
file(GLOB_RECURSE LIST_DIRECTORIES false src_files ${SRC})
文档有误,LIST_DIRECTORIES
出现在变量