From ab84c73244fd3c599c2ac86c7eee58b6a9cdacea Mon Sep 17 00:00:00 2001 From: Renz Christian Bagaporo Date: Mon, 13 Jan 2020 14:46:11 +0800 Subject: [PATCH] cmake: add subdirectory if exists utility --- tools/cmake/utilities.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/cmake/utilities.cmake b/tools/cmake/utilities.cmake index 88a5b0912..fa0abc030 100644 --- a/tools/cmake/utilities.cmake +++ b/tools/cmake/utilities.cmake @@ -302,4 +302,17 @@ function(file_generate output) set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${output}") +endfunction() + +# add_subdirectory_if_exists +# +# Like add_subdirectory, but only proceeds if the given source directory exists. +function(add_subdirectory_if_exists source_dir) + get_filename_component(abs_dir "${source_dir}" + ABSOLUTE BASE_DIR "${CMAKE_CURRENT_LIST_DIR}") + if(EXISTS "${abs_dir}") + add_subdirectory("${source_dir}" ${ARGN}) + else() + message(STATUS "Subdirectory '${abs_dir}' does not exist, skipped.") + endif() endfunction() \ No newline at end of file