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