-function(add_subdirectories)
+function(list_subdirectories OUTPUT_VARIABLE)
cmake_parse_arguments(ARG "" "" "EXCLUDES" ${ARGN})
file(GLOB PROJECT_FILES
get_filename_component(PROJECT_DIR ${PROJECT_FILE} DIRECTORY)
list(FIND ARG_EXCLUDES ${PROJECT_DIR} PROJECT_INDEX)
if(${PROJECT_INDEX} EQUAL -1)
- add_subdirectory(${PROJECT_DIR})
+ list(APPEND PROJECT_LIST ${PROJECT_DIR})
endif(${PROJECT_INDEX} EQUAL -1)
endforeach(PROJECT_FILE)
+
+ set(${OUTPUT_VARIABLE} ${PROJECT_LIST} PARENT_SCOPE)
+endfunction(list_subdirectories)
+
+function(add_subdirectories)
+ cmake_parse_arguments(ARG "" "" "EXCLUDES" ${ARGN})
+
+ list_subdirectories(PROJECT_DIRS EXCLUDES ${ARG_EXCLUDES})
+
+ foreach(PROJECT_DIR IN ITEMS ${PROJECT_DIRS})
+ add_subdirectory(${PROJECT_DIR})
+ endforeach(PROJECT_DIR)
endfunction(add_subdirectories)