1 find_package(PkgConfig)
6 function(check_dependency_basic NAME LIB HEADER)
8 message("-- Checking for library '${LIB}' with header '${HEADER}' ...")
9 find_library(LIB${LIB} NAMES ${LIB})
14 safe_string(${HEADER} HEADER_CONST)
15 check_header(${HEADER})
16 if(NOT HAVE_${HEADER_CONST})
19 find_path(${HEADER_CONST}_ROOT ${HEADER})
20 if(NOT ${HEADER_CONST}_ROOT)
26 message("-- Found library '${LIB${LIB}}'")
27 message("-- Found include '${${HEADER_CONST}_ROOT}'")
28 set(${NAME} ${NAME} PARENT_SCOPE)
29 add_library(${NAME} INTERFACE IMPORTED)
30 set_target_properties(${NAME} PROPERTIES
31 INTERFACE_INCLUDE_DIRECTORIES ${${HEADER_CONST}_ROOT}
32 INTERFACE_LINK_LIBRARIES ${LIB${LIB}})
34 message("-- No library '${LIB}' found")
36 set(${NAME}_FOUND ${FOUND} PARENT_SCOPE)
39 function(check_dependency NAME LIB HEADER)
41 pkg_check_modules(${NAME} lib${LIB}${ARGN} IMPORTED_TARGET)
43 pkg_check_modules(${NAME} ${LIB}${ARGN})
46 set(${NAME} PkgConfig::${NAME} PARENT_SCOPE)
50 check_dependency_basic(${NAME} ${LIB} ${HEADER})
53 set(HAVE_${NAME} ${${NAME}_FOUND} PARENT_SCOPE)
55 safe_string(${HEADER} HEADER_CONST)
56 find_path(HAVE_${HEADER_CONST} ${HEADER} PATHS ${${NAME}_INCLUDEDIR})