cmake: add recursive search for folders
authorThomas Ingleby <thomas.c.ingleby@intel.com>
Thu, 5 Jun 2014 12:58:34 +0000 (13:58 +0100)
committerThomas Ingleby <thomas.c.ingleby@intel.com>
Thu, 5 Jun 2014 12:58:34 +0000 (13:58 +0100)
* No need for many add_subdirectory

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
src/CMakeLists.txt

index 51edb87..25e6989 100644 (file)
@@ -1,9 +1,14 @@
-add_subdirectory (hmc5883l)
-add_subdirectory (grove)
-add_subdirectory (lcd)
-add_subdirectory (buzzer)
-add_subdirectory (ledbar)
-add_subdirectory (4digitdisplay)
-add_subdirectory (nrf24l01)
-add_subdirectory (servo)
-add_subdirectory (hcsr04)
+macro(subdirlist result curdir)
+  file(GLOB children RELATIVE ${curdir} ${curdir}/*)
+  set(dirlist "")
+  foreach(child ${children})
+      if(IS_DIRECTORY ${curdir}/${child})
+        set(dirlist ${dirlist} ${child})
+    endif()
+  endforeach()
+  set(${result} ${dirlist})
+endmacro()
+subdirlist(SUBDIRS ${CMAKE_CURRENT_SOURCE_DIR})
+foreach(subdir ${SUBDIRS})
+    add_subdirectory(${subdir})
+endforeach()