una subcarpetas ruta pasar obtener los listar lista directorio con como carpeta buscar archivos archivo cmake

subcarpetas - CMake: ¿Cómo obtener el nombre de todos los subdirectorios de un directorio?



obtener archivos de un directorio c# (1)

1) Utilice esta macro:

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()

Ejemplo:

SUBDIRLIST(SUBDIRS ${MY_CURRENT_DIR})

2) Utilice foreach :

FOREACH(subdir ${SUBDIRS}) ADD_SUBDIRECTORY(${subdir}) ENDFOREACH()

Tengo dos preguntas relativas a CMake

1) Supongamos que tenemos una variable ${MY_CURRENT_DIR} que contiene la ruta de un directorio que contiene varios subdirectorios: mydir1, mydir2 y mydir3. Quiero detectar estos subdirectorios y poner sus nombres en ${SUBDIRS} (no la ruta completa de estos directorios, solo su nombre). ¿Cómo hacer eso automáticamente?

2) Suponga que ${SUBDIRS} contiene "mydir1 mydir2 mydir3". Cómo reemplazar

ADD_SUBDIRECTORY(mydir1) ADD_SUBDIRECTORY(mydir2) ADD_SUBDIRECTORY(mydir3)

por un bucle sobre ${SUBDIRS} ?

Muchas gracias.