【发布时间】:2017-11-16 21:18:35
【问题描述】:
在 CMake 中,如何获取某个目录中存在的目录的非递归列表? 我可以看到不建议使用 GLOB。
【问题讨论】:
标签: cmake
在 CMake 中,如何获取某个目录中存在的目录的非递归列表? 我可以看到不建议使用 GLOB。
【问题讨论】:
标签: cmake
为什么不推荐 GLOB?这就是 GLOB 的用途。我喜欢 GLOB,尤其是在这种情况下,抓取多个项目非常有帮助。
The macro from this question 可能就是您要找的。
MACRO(SUBDIRLIST result curdir)
FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
SET(dirlist "")
FOREACH(child ${children})
IF(IS_DIRECTORY ${curdir}/${child})
LIST(APPEND dirlist ${child})
ENDIF()
ENDFOREACH()
SET(${result} ${dirlist})
ENDMACRO()
您基本上从当前源目录中获取项目,检查它是否是一个目录,如果是,则将其附加到一个列表中。
感谢在该宏的链接中重新定义。
【讨论】: