X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMake%2FCheckDependency.cmake;h=f78390b4044fd8b6b9114a9e0bac501f82fc62e4;hb=77fc9c3ba95eb502d1a66146251acfcfd5606df8;hp=e1bdd5b900ab7eefa08e72d3749cff07c778ee4d;hpb=cbec7a4b9613b8ae3807539fae3a29ed8aff4984;p=awesomized%2Flibmemcached diff --git a/CMake/CheckDependency.cmake b/CMake/CheckDependency.cmake index e1bdd5b9..f78390b4 100644 --- a/CMake/CheckDependency.cmake +++ b/CMake/CheckDependency.cmake @@ -5,20 +5,17 @@ include(CheckHeader) 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}) + pkg_check_modules(${NAME} ${LIB}${ARGN} IMPORTED_TARGET) endif() - set(${NAME} ${${NAME}_FOUND} PARENT_SCOPE) - set(${NAME}_LIBRARIES ${${NAME}_LIBRARIES} PARENT_SCOPE) - set(${NAME}_INCLUDEDIR ${${NAME}_INCLUDEDIR}} PARENT_SCOPE) - - 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}) - else() + if(${NAME}_FOUND) + set(${NAME} PkgConfig::${NAME} PARENT_SCOPE) + endif() + endif() + if(NOT ${NAME}_FOUND) set(FOUND 1) + message(STATUS "Checking for library '${LIB}' with header '${HEADER}' ...") find_library(LIB${LIB} NAMES ${LIB}) if(NOT LIB${LIB}) set(FOUND 0) @@ -35,8 +32,23 @@ function(check_dependency NAME LIB HEADER) endif() endif() endif() - set(${NAME} ${FOUND} PARENT_SCOPE) - set(${NAME}_LIBRARIES ${LIB${LIB}} PARENT_SCOPE) - set(${NAME}_INCLUDEDIR ${${HEADER_CONST}_ROOT} PARENT_SCOPE) + if(FOUND) + message(STATUS " Found library '${LIB${LIB}}'") + message(STATUS " Found include '${${HEADER_CONST}_ROOT}'") + set(${NAME} Imported::${NAME} PARENT_SCOPE) + add_library(Imported::${NAME} INTERFACE IMPORTED) + set_target_properties(Imported::${NAME} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${${HEADER_CONST}_ROOT} + INTERFACE_LINK_LIBRARIES ${LIB${LIB}}) + else() + message("-- No library '${LIB}' found") + endif() + set(${NAME}_FOUND ${FOUND}) + endif() + + 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()