0001-Add-FindGnuTLS-cmake-from-3-17-3.patch 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. From 73f6f8ebff678a0847e6b197b574082cc285b528 Mon Sep 17 00:00:00 2001
  2. From: Thomas Klausner <tk@giga.or.at>
  3. Date: Sat, 25 Jul 2020 12:03:29 +0200
  4. Subject: [PATCH] Add FindGnuTLS.cmake from 3.17.3.
  5. Addresses #199
  6. [Retrieved from:
  7. https://github.com/nih-at/libzip/commit/73f6f8ebff678a0847e6b197b574082cc285b528]
  8. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  9. ---
  10. cmake-compat/FindGnuTLS.cmake | 82 +++++++++++++++++++++++++++++++++++
  11. 1 file changed, 82 insertions(+)
  12. create mode 100644 cmake-compat/FindGnuTLS.cmake
  13. diff --git a/cmake-compat/FindGnuTLS.cmake b/cmake-compat/FindGnuTLS.cmake
  14. new file mode 100644
  15. index 00000000..819f0001
  16. --- /dev/null
  17. +++ b/cmake-compat/FindGnuTLS.cmake
  18. @@ -0,0 +1,82 @@
  19. +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  20. +# file Copyright.txt or https://cmake.org/licensing for details.
  21. +
  22. +#[=======================================================================[.rst:
  23. +FindGnuTLS
  24. +----------
  25. +
  26. +Find the GNU Transport Layer Security library (gnutls)
  27. +
  28. +IMPORTED Targets
  29. +^^^^^^^^^^^^^^^^
  30. +
  31. +This module defines :prop_tgt:`IMPORTED` target ``GnuTLS::GnuTLS``, if
  32. +gnutls has been found.
  33. +
  34. +Result Variables
  35. +^^^^^^^^^^^^^^^^
  36. +
  37. +``GNUTLS_FOUND``
  38. + System has gnutls
  39. +``GNUTLS_INCLUDE_DIR``
  40. + The gnutls include directory
  41. +``GNUTLS_LIBRARIES``
  42. + The libraries needed to use gnutls
  43. +``GNUTLS_DEFINITIONS``
  44. + Compiler switches required for using gnutls
  45. +``GNUTLS_VERSION``
  46. + version of gnutls.
  47. +#]=======================================================================]
  48. +
  49. +# Note that this doesn't try to find the gnutls-extra package.
  50. +
  51. +
  52. +if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
  53. + # in cache already
  54. + set(gnutls_FIND_QUIETLY TRUE)
  55. +endif ()
  56. +
  57. +if (NOT WIN32)
  58. + # try using pkg-config to get the directories and then use these values
  59. + # in the find_path() and find_library() calls
  60. + # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
  61. + find_package(PkgConfig QUIET)
  62. + PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
  63. + set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
  64. + set(GNUTLS_VERSION ${PC_GNUTLS_VERSION})
  65. + # keep for backward compatibility
  66. + set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
  67. +endif ()
  68. +
  69. +find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
  70. + HINTS
  71. + ${PC_GNUTLS_INCLUDEDIR}
  72. + ${PC_GNUTLS_INCLUDE_DIRS}
  73. + )
  74. +
  75. +find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
  76. + HINTS
  77. + ${PC_GNUTLS_LIBDIR}
  78. + ${PC_GNUTLS_LIBRARY_DIRS}
  79. + )
  80. +
  81. +mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
  82. +
  83. +include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
  84. +FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
  85. + REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR
  86. + VERSION_VAR GNUTLS_VERSION_STRING)
  87. +
  88. +if(GNUTLS_FOUND)
  89. + set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARY})
  90. + set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
  91. +
  92. + if(NOT TARGET GnuTLS::GnuTLS)
  93. + add_library(GnuTLS::GnuTLS UNKNOWN IMPORTED)
  94. + set_target_properties(GnuTLS::GnuTLS PROPERTIES
  95. + INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIRS}"
  96. + INTERFACE_COMPILE_DEFINITIONS "${GNUTLS_DEFINITIONS}"
  97. + IMPORTED_LINK_INTERFACE_LANGUAGES "C"
  98. + IMPORTED_LOCATION "${GNUTLS_LIBRARIES}")
  99. + endif()
  100. +endif()