function(fb_add_dep TARGET_NAME DEP_NAME) get_target_property(TARGET_TYPE ${TARGET_NAME} TYPE) if(TARGET_TYPE STREQUAL "INTERFACE_LIBRARY") set(LINK_SCOPE "INTERFACE") else() set(LINK_SCOPE "PRIVATE") endif() if(TARGET deps::${DEP_NAME}) target_link_libraries(${TARGET_NAME} ${LINK_SCOPE} deps::${DEP_NAME}) return() endif() include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/deps/${DEP_NAME}.cmake") if(NOT TARGET deps::${DEP_NAME}) add_library(deps::${DEP_NAME} ALIAS ${DEP_NAME}) endif() target_link_libraries(${TARGET_NAME} ${LINK_SCOPE} deps::${DEP_NAME}) endfunction()