FindGnuTLS.cmake 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. #[=======================================================================[.rst:
  4. FindGnuTLS
  5. ----------
  6. Find the GNU Transport Layer Security library (gnutls)
  7. Once done this will define
  8. ::
  9. GNUTLS_FOUND - System has gnutls
  10. GNUTLS_INCLUDE_DIR - The gnutls include directory
  11. GNUTLS_LIBRARIES - The libraries needed to use gnutls
  12. GNUTLS_DEFINITIONS - Compiler switches required for using gnutls
  13. #]=======================================================================]
  14. # Note that this doesn't try to find the gnutls-extra package.
  15. if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
  16. # in cache already
  17. set(gnutls_FIND_QUIETLY TRUE)
  18. endif ()
  19. if (NOT WIN32)
  20. # try using pkg-config to get the directories and then use these values
  21. # in the find_path() and find_library() calls
  22. # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
  23. find_package(PkgConfig QUIET)
  24. PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
  25. set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
  26. set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
  27. endif ()
  28. find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
  29. HINTS
  30. ${PC_GNUTLS_INCLUDEDIR}
  31. ${PC_GNUTLS_INCLUDE_DIRS}
  32. )
  33. find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
  34. HINTS
  35. ${PC_GNUTLS_LIBDIR}
  36. ${PC_GNUTLS_LIBRARY_DIRS}
  37. )
  38. mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
  39. include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
  40. FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
  41. REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR
  42. VERSION_VAR GNUTLS_VERSION_STRING)
  43. if(GNUTLS_FOUND)
  44. set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARY})
  45. set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
  46. endif()