FindLibev.cmake 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # - Try to find libev
  2. # Once done this will define
  3. # LIBEV_FOUND - System has libev
  4. # LIBEV_INCLUDE_DIRS - The libev include directories
  5. # LIBEV_LIBRARIES - The libraries needed to use libev
  6. find_path(LIBEV_INCLUDE_DIR
  7. NAMES ev.h
  8. )
  9. find_library(LIBEV_LIBRARY
  10. NAMES ev
  11. )
  12. if(LIBEV_INCLUDE_DIR)
  13. file(STRINGS "${LIBEV_INCLUDE_DIR}/ev.h"
  14. LIBEV_VERSION_MAJOR REGEX "^#define[ \t]+EV_VERSION_MAJOR[ \t]+[0-9]+")
  15. file(STRINGS "${LIBEV_INCLUDE_DIR}/ev.h"
  16. LIBEV_VERSION_MINOR REGEX "^#define[ \t]+EV_VERSION_MINOR[ \t]+[0-9]+")
  17. string(REGEX REPLACE "[^0-9]+" "" LIBEV_VERSION_MAJOR "${LIBEV_VERSION_MAJOR}")
  18. string(REGEX REPLACE "[^0-9]+" "" LIBEV_VERSION_MINOR "${LIBEV_VERSION_MINOR}")
  19. set(LIBEV_VERSION "${LIBEV_VERSION_MAJOR}.${LIBEV_VERSION_MINOR}")
  20. unset(LIBEV_VERSION_MINOR)
  21. unset(LIBEV_VERSION_MAJOR)
  22. endif()
  23. include(FindPackageHandleStandardArgs)
  24. # handle the QUIETLY and REQUIRED arguments and set LIBEV_FOUND to TRUE
  25. # if all listed variables are TRUE and the requested version matches.
  26. find_package_handle_standard_args(Libev REQUIRED_VARS
  27. LIBEV_LIBRARY LIBEV_INCLUDE_DIR
  28. VERSION_VAR LIBEV_VERSION)
  29. if(LIBEV_FOUND)
  30. set(LIBEV_LIBRARIES ${LIBEV_LIBRARY})
  31. set(LIBEV_INCLUDE_DIRS ${LIBEV_INCLUDE_DIR})
  32. endif()
  33. mark_as_advanced(LIBEV_INCLUDE_DIR LIBEV_LIBRARY)