123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- # - Try to find libuv
- # Once done, this will define
- #
- # LIBUV_FOUND - system has libuv
- # LIBUV_INCLUDE_DIRS - the libuv include directories
- # LIBUV_LIBRARIES - link these to use libuv
- #
- # Set the LIBUV_USE_STATIC variable to specify if static libraries should
- # be preferred to shared ones.
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(PC_LIBUV QUIET libuv)
- endif()
- find_path(LIBUV_INCLUDE_DIR uv.h
- HINTS ${PC_LIBUV_INCLUDEDIR} ${PC_LIBUV_INCLUDE_DIRS}
- ${LIMIT_SEARCH})
- # If we're asked to use static linkage, add libuv.a as a preferred library name.
- if(LIBUV_USE_STATIC)
- list(APPEND LIBUV_NAMES
- "${CMAKE_STATIC_LIBRARY_PREFIX}uv${CMAKE_STATIC_LIBRARY_SUFFIX}")
- endif(LIBUV_USE_STATIC)
- list(APPEND LIBUV_NAMES uv)
- find_library(LIBUV_LIBRARY NAMES ${LIBUV_NAMES}
- HINTS ${PC_LIBUV_LIBDIR} ${PC_LIBUV_LIBRARY_DIRS}
- ${LIMIT_SEARCH})
- mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LIBRARY)
- set(LIBUV_LIBRARIES ${LIBUV_LIBRARY})
- set(LIBUV_INCLUDE_DIRS ${LIBUV_INCLUDE_DIR})
- # Deal with the fact that libuv.pc is missing important dependency information.
- include(CheckLibraryExists)
- check_library_exists(dl dlopen "dlfcn.h" HAVE_LIBDL)
- if(HAVE_LIBDL)
- list(APPEND LIBUV_LIBRARIES dl)
- endif()
- check_library_exists(kstat kstat_lookup "kstat.h" HAVE_LIBKSTAT)
- if(HAVE_LIBKSTAT)
- list(APPEND LIBUV_LIBRARIES kstat)
- endif()
- check_library_exists(kvm kvm_open "kvm.h" HAVE_LIBKVM)
- if(HAVE_LIBKVM)
- list(APPEND LIBUV_LIBRARIES kvm)
- endif()
- check_library_exists(nsl gethostbyname "nsl.h" HAVE_LIBNSL)
- if(HAVE_LIBNSL)
- list(APPEND LIBUV_LIBRARIES nsl)
- endif()
- check_library_exists(perfstat perfstat_cpu "libperfstat.h" HAVE_LIBPERFSTAT)
- if(HAVE_LIBPERFSTAT)
- list(APPEND LIBUV_LIBRARIES perfstat)
- endif()
- check_library_exists(rt clock_gettime "time.h" HAVE_LIBRT)
- if(HAVE_LIBRT)
- list(APPEND LIBUV_LIBRARIES rt)
- endif()
- check_library_exists(sendfile sendfile "" HAVE_LIBSENDFILE)
- if(HAVE_LIBSENDFILE)
- list(APPEND LIBUV_LIBRARIES sendfile)
- endif()
- include(FindPackageHandleStandardArgs)
- # handle the QUIETLY and REQUIRED arguments and set LIBUV_FOUND to TRUE
- # if all listed variables are TRUE
- find_package_handle_standard_args(LibUV DEFAULT_MSG
- LIBUV_LIBRARY LIBUV_INCLUDE_DIR)
- mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LIBRARY)
|