123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- 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()
|