diff options
author | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-04 18:09:24 +0900 |
---|---|---|
committer | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-04 18:09:24 +0900 |
commit | 302e6564a7a76109e1178207e44e45a58631c477 (patch) | |
tree | 6cc4bd95e5e438331fc2c53234af4ed0e0f3bc20 /infra/cmake/modules/AddSubdirectories.cmake | |
parent | bd11b24234d7d43dfe05a81c520aa01ffad06e42 (diff) | |
download | nnfw-302e6564a7a76109e1178207e44e45a58631c477.tar.gz nnfw-302e6564a7a76109e1178207e44e45a58631c477.tar.bz2 nnfw-302e6564a7a76109e1178207e44e45a58631c477.zip |
Imported Upstream version 1.1.0upstream/1.1.0submit/tizen/20200304.094649submit/tizen/20200304.093946submit/tizen/20200304.092919accepted/tizen/unified/20200305.051107
Diffstat (limited to 'infra/cmake/modules/AddSubdirectories.cmake')
-rw-r--r-- | infra/cmake/modules/AddSubdirectories.cmake | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/infra/cmake/modules/AddSubdirectories.cmake b/infra/cmake/modules/AddSubdirectories.cmake new file mode 100644 index 000000000..06b7c768d --- /dev/null +++ b/infra/cmake/modules/AddSubdirectories.cmake @@ -0,0 +1,27 @@ +function(list_subdirectories OUTPUT_VARIABLE) + cmake_parse_arguments(ARG "" "" "EXCLUDES" ${ARGN}) + + file(GLOB PROJECT_FILES + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "*/CMakeLists.txt") + + foreach(PROJECT_FILE IN ITEMS ${PROJECT_FILES}) + get_filename_component(PROJECT_DIR ${PROJECT_FILE} DIRECTORY) + list(FIND ARG_EXCLUDES ${PROJECT_DIR} PROJECT_INDEX) + if(${PROJECT_INDEX} EQUAL -1) + 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) |