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