diff --git a/CMake/subproject.cmake b/CMake/subproject.cmake new file mode 100644 index 0000000..9809f2d --- /dev/null +++ b/CMake/subproject.cmake @@ -0,0 +1,20 @@ +function(add_subproject name) + if(ARGC GREATER 1) + set(package_name ${ARGV1}) + else() + set(package_name ${name}) + endif() + + if(TARGET ${name}) + message("Subproject ${name} already included, skipping") + else() + find_package(${package_name} QUIET) + string(TOUPPER ${package_name} upper) + if(NOT SOURCE_${upper} AND ${upper}_FOUND) + message("Found ${package_name} on system") + else() + message("Adding ${name} as subdirectory") + add_subdirectory(${name} EXCLUDE_FROM_ALL) + endif() + endif() +endfunction()