26
我有相对于CMake的CMake:如何获取目录中所有子目录的名称?
1)两个问题。假设我们有一个变量${MY_CURRENT_DIR}
包含包含多个子目录的目录的路径:mydir1,mydir2和mydir3。我想检测这些子目录并将其名称放入${SUBDIRS}
(不是这些目录的完整路径,只有它们的名称)。如何自动做到这一点? 2)假设${SUBDIRS}
包含“mydir1 mydir2 mydir3”。如何通过遍历${SUBDIRS}
更换
ADD_SUBDIRECTORY(mydir1)
ADD_SUBDIRECTORY(mydir2)
ADD_SUBDIRECTORY(mydir3)
?
非常感谢。
对于性能的提高,特别是如果'dirlist'长,使用'LIST(APPEND dirlist $ {child})''而不是'SET(dirlist $ {dirlist} $ {child})'[see here](http://www.cmake.org/Wiki/C Make_Performance_Tips#Use_LIST.28APPEND _.... 29) – ParokshaX
重要注意事项:这不适用于GLOB_RECURSE,只适用于GLOB。 – Synxis
GLOB_RECURSE的默认LIST_DIRECTORIES为false,而GLOB的默认LIST_DIRECTORIES为true。如果使用递归,则必须将其设置为true – Jaco