104 lines
3.2 KiB
Diff
104 lines
3.2 KiB
Diff
|
From 73f6f8ebff678a0847e6b197b574082cc285b528 Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Klausner <tk@giga.or.at>
|
||
|
Date: Sat, 25 Jul 2020 12:03:29 +0200
|
||
|
Subject: [PATCH] Add FindGnuTLS.cmake from 3.17.3.
|
||
|
|
||
|
Addresses #199
|
||
|
|
||
|
[Retrieved from:
|
||
|
https://github.com/nih-at/libzip/commit/73f6f8ebff678a0847e6b197b574082cc285b528]
|
||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||
|
---
|
||
|
cmake-compat/FindGnuTLS.cmake | 82 +++++++++++++++++++++++++++++++++++
|
||
|
1 file changed, 82 insertions(+)
|
||
|
create mode 100644 cmake-compat/FindGnuTLS.cmake
|
||
|
|
||
|
diff --git a/cmake-compat/FindGnuTLS.cmake b/cmake-compat/FindGnuTLS.cmake
|
||
|
new file mode 100644
|
||
|
index 00000000..819f0001
|
||
|
--- /dev/null
|
||
|
+++ b/cmake-compat/FindGnuTLS.cmake
|
||
|
@@ -0,0 +1,82 @@
|
||
|
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||
|
+# file Copyright.txt or https://cmake.org/licensing for details.
|
||
|
+
|
||
|
+#[=======================================================================[.rst:
|
||
|
+FindGnuTLS
|
||
|
+----------
|
||
|
+
|
||
|
+Find the GNU Transport Layer Security library (gnutls)
|
||
|
+
|
||
|
+IMPORTED Targets
|
||
|
+^^^^^^^^^^^^^^^^
|
||
|
+
|
||
|
+This module defines :prop_tgt:`IMPORTED` target ``GnuTLS::GnuTLS``, if
|
||
|
+gnutls has been found.
|
||
|
+
|
||
|
+Result Variables
|
||
|
+^^^^^^^^^^^^^^^^
|
||
|
+
|
||
|
+``GNUTLS_FOUND``
|
||
|
+ System has gnutls
|
||
|
+``GNUTLS_INCLUDE_DIR``
|
||
|
+ The gnutls include directory
|
||
|
+``GNUTLS_LIBRARIES``
|
||
|
+ The libraries needed to use gnutls
|
||
|
+``GNUTLS_DEFINITIONS``
|
||
|
+ Compiler switches required for using gnutls
|
||
|
+``GNUTLS_VERSION``
|
||
|
+ version of gnutls.
|
||
|
+#]=======================================================================]
|
||
|
+
|
||
|
+# Note that this doesn't try to find the gnutls-extra package.
|
||
|
+
|
||
|
+
|
||
|
+if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
|
||
|
+ # in cache already
|
||
|
+ set(gnutls_FIND_QUIETLY TRUE)
|
||
|
+endif ()
|
||
|
+
|
||
|
+if (NOT WIN32)
|
||
|
+ # try using pkg-config to get the directories and then use these values
|
||
|
+ # in the find_path() and find_library() calls
|
||
|
+ # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
|
||
|
+ find_package(PkgConfig QUIET)
|
||
|
+ PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
|
||
|
+ set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
|
||
|
+ set(GNUTLS_VERSION ${PC_GNUTLS_VERSION})
|
||
|
+ # keep for backward compatibility
|
||
|
+ set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
|
||
|
+endif ()
|
||
|
+
|
||
|
+find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
|
||
|
+ HINTS
|
||
|
+ ${PC_GNUTLS_INCLUDEDIR}
|
||
|
+ ${PC_GNUTLS_INCLUDE_DIRS}
|
||
|
+ )
|
||
|
+
|
||
|
+find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
|
||
|
+ HINTS
|
||
|
+ ${PC_GNUTLS_LIBDIR}
|
||
|
+ ${PC_GNUTLS_LIBRARY_DIRS}
|
||
|
+ )
|
||
|
+
|
||
|
+mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
|
||
|
+
|
||
|
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||
|
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
|
||
|
+ REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR
|
||
|
+ VERSION_VAR GNUTLS_VERSION_STRING)
|
||
|
+
|
||
|
+if(GNUTLS_FOUND)
|
||
|
+ set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARY})
|
||
|
+ set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
|
||
|
+
|
||
|
+ if(NOT TARGET GnuTLS::GnuTLS)
|
||
|
+ add_library(GnuTLS::GnuTLS UNKNOWN IMPORTED)
|
||
|
+ set_target_properties(GnuTLS::GnuTLS PROPERTIES
|
||
|
+ INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIRS}"
|
||
|
+ INTERFACE_COMPILE_DEFINITIONS "${GNUTLS_DEFINITIONS}"
|
||
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||
|
+ IMPORTED_LOCATION "${GNUTLS_LIBRARIES}")
|
||
|
+ endif()
|
||
|
+endif()
|