mac build
[awesomized/libmemcached] / CMake / CheckDependency.cmake
1 find_package(PkgConfig)
2
3 include(SafeString)
4 include(CheckHeader)
5
6
7 function(check_dependency NAME LIB HEADER)
8 if(PKG_CONFIG_FOUND)
9 pkg_check_modules(${NAME} lib${LIB}${ARGN})
10 if(NOT ${NAME}_FOUND)
11 pkg_check_modules(${NAME} ${LIB}${ARGN})
12 endif()
13 set(${NAME} ${${NAME}_FOUND} PARENT_SCOPE)
14 set(${NAME}_LIBRARIES ${${NAME}_LDFLAGS} PARENT_SCOPE)
15 set(${NAME}_INCLUDEDIR ${${NAME}_INCLUDEDIR} PARENT_SCOPE)
16
17 safe_string(${LIB} LIB_CONST)
18 set(HAVE_${NAME} ${${NAME}_FOUND} PARENT_SCOPE)
19 safe_string(${HEADER} HEADER_CONST)
20 find_path(HAVE_${HEADER_CONST} ${HEADER} PATHS ${${NAME}_INCLUDEDIR})
21 else()
22 set(FOUND 1)
23 find_library(LIB${LIB} NAMES ${LIB})
24 if(NOT LIB${LIB})
25 set(FOUND 0)
26 endif()
27 if(HEADER)
28 safe_string(${HEADER} HEADER_CONST)
29 check_header(${HEADER})
30 if(NOT HAVE_${HEADER_CONST})
31 set(FOUND 0)
32 else()
33 find_path(${HEADER_CONST}_ROOT ${HEADER})
34 if(NOT ${HEADER_CONST}_ROOT)
35 set(FOUND 0)
36 endif()
37 endif()
38 endif()
39 set(${NAME} ${FOUND} PARENT_SCOPE)
40 set(${NAME}_LIBRARIES ${LIB${LIB}} PARENT_SCOPE)
41 set(${NAME}_INCLUDEDIR ${${HEADER_CONST}_ROOT} PARENT_SCOPE)
42 endif()
43 endfunction()