X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMake%2FCheckDependency.cmake;h=bb6fd7d0a68c9f5986b1cca6091e541858407641;hb=30c51379a982cb3e7682a90cdb2469c5e72a6045;hp=862321fb4e2dd85c71d29f46d14a6d9a612ea08f;hpb=7e2b466107a65e22f1cc258ca8643922dbb60352;p=awesomized%2Flibmemcached diff --git a/CMake/CheckDependency.cmake b/CMake/CheckDependency.cmake index 862321fb..bb6fd7d0 100644 --- a/CMake/CheckDependency.cmake +++ b/CMake/CheckDependency.cmake @@ -25,33 +25,34 @@ function(check_dependency_basic NAME LIB HEADER) if(FOUND) message("-- Found library '${LIB${LIB}}'") message("-- Found include '${${HEADER_CONST}_ROOT}'") + set(${NAME} ${NAME} PARENT_SCOPE) + add_library(${NAME} INTERFACE IMPORTED) + set_target_properties(${NAME} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${${HEADER_CONST}_ROOT} + INTERFACE_LINK_LIBRARIES ${LIB${LIB}}) else() message("-- No library '${LIB}' found") endif() - set(${NAME} ${FOUND} PARENT_SCOPE) - set(${NAME}_LIBRARIES ${LIB${LIB}} PARENT_SCOPE) - set(${NAME}_INCLUDEDIR ${${HEADER_CONST}_ROOT} PARENT_SCOPE) + set(${NAME}_FOUND ${FOUND} PARENT_SCOPE) endfunction() function(check_dependency NAME LIB HEADER) if(PKG_CONFIG_FOUND) - pkg_check_modules(${NAME} lib${LIB}${ARGN}) + pkg_check_modules(${NAME} lib${LIB}${ARGN} IMPORTED_TARGET) if(NOT ${NAME}_FOUND) pkg_check_modules(${NAME} ${LIB}${ARGN}) endif() - if(NOT ${NAME}_FOUND) - check_dependency_basic(${NAME} ${LIB} ${HEADER}) - else() - set(${NAME} ${${NAME}_FOUND} PARENT_SCOPE) - set(${NAME}_LIBRARIES ${${NAME}_LDFLAGS} PARENT_SCOPE) - set(${NAME}_INCLUDEDIR ${${NAME}_INCLUDEDIR} PARENT_SCOPE) + if(${NAME}_FOUND) + set(${NAME} PkgConfig::${NAME} PARENT_SCOPE) + endif() + endif() + if(NOT ${NAME}_FOUND) + check_dependency_basic(${NAME} ${LIB} ${HEADER}) + endif() - safe_string(${LIB} LIB_CONST) - set(HAVE_${NAME} ${${NAME}_FOUND} PARENT_SCOPE) - safe_string(${HEADER} HEADER_CONST) - find_path(HAVE_${HEADER_CONST} ${HEADER} PATHS ${${NAME}_INCLUDEDIR}) - endif() - else() - check_dependency_basic(${NAME} ${LIB} ${HEADER}) + set(HAVE_${NAME} ${${NAME}_FOUND} PARENT_SCOPE) + if(${NAME}_FOUND) + safe_string(${HEADER} HEADER_CONST) + find_path(HAVE_${HEADER_CONST} ${HEADER} PATHS ${${NAME}_INCLUDEDIR}) endif() endfunction()