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