mirror of https://github.com/getdnsapi/getdns.git
86 lines
2.4 KiB
CMake
86 lines
2.4 KiB
CMake
#[=======================================================================[.rst:
|
|
FindGnuTLS
|
|
----------
|
|
|
|
Find the GnuTLS library.
|
|
|
|
Imported targets
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This module defines the following :prop_tgt:`IMPORTED` targets:
|
|
|
|
``GnuTLS::GnuTLS``
|
|
The GnuTLS library, if found.
|
|
``GnuTLS::Dane``
|
|
The GnuTLS DANE library, if found.
|
|
|
|
Result variables
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This module will set the following variables in your project:
|
|
|
|
``GnuTLS_FOUND``
|
|
If false, do not try to use GnuTLS.
|
|
``GNUTLS_INCLUDE_DIR``
|
|
where to find GnuTLS headers.
|
|
``GNUTLS_LIBRARIES``
|
|
the libraries needed to use GnuTLS.
|
|
``GNUTLS_VERSION``
|
|
the version of the GnuTLS library found
|
|
|
|
#]=======================================================================]
|
|
|
|
find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
|
|
HINTS
|
|
"${GNUTLS_DIR}"
|
|
"${GNUTLS_DIR}/include"
|
|
)
|
|
|
|
find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
|
|
HINTS
|
|
"${GNUTLS_DIR}"
|
|
"${GNUTLS_DIR}/lib"
|
|
)
|
|
|
|
find_library(GNUTLS_DANE_LIBRARY NAMES gnutls-dane libgnutls-dane
|
|
HINTS
|
|
"${GNUTLS_DIR}"
|
|
"${GNUTLS_DIR}/lib"
|
|
)
|
|
|
|
set(GNUTLS_LIBRARIES "")
|
|
|
|
if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY AND GNUTLS_DANE_LIBRARY)
|
|
if (NOT TARGET GnuTLS::GnuTLS)
|
|
add_library(GnuTLS::GnuTLS UNKNOWN IMPORTED)
|
|
set_target_properties(GnuTLS::GnuTLS PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIR}"
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
IMPORTED_LOCATION "${GNUTLS_LIBRARY}"
|
|
)
|
|
endif ()
|
|
if (NOT TARGET GnuTLS::Dane)
|
|
add_library(GnuTLS::Dane UNKNOWN IMPORTED)
|
|
set_target_properties(GnuTLS::Dane PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIR}"
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
IMPORTED_LOCATION "${GNUTLS_DANE_LIBRARY}"
|
|
)
|
|
endif ()
|
|
|
|
if (NOT GNUTLS_VERSION AND GNUTLS_INCLUDE_DIR)
|
|
file(STRINGS "${GNUTLS_INCLUDE_DIR}/gnutls/gnutls.h" GNUTLS_VER_H REGEX "^#define GNUTLS_VERSION_(MAJOR|MINOR|PATCH) ")
|
|
string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*_PATCH ([0-9]+).*$" "\\1.\\2.\\3c" GNUTLS_VERSION "${GNUTLS_VER_H}")
|
|
endif ()
|
|
endif()
|
|
|
|
list(APPEND GNUTLS_LIBRARIES "${GNUTLS_LIBRARY}" "${GNUTLS_DANE_LIBRARY}")
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(GnuTLS
|
|
REQUIRED_VARS GNUTLS_LIBRARIES GNUTLS_INCLUDE_DIR
|
|
VERSION_VAR GNUTLS_VERSION
|
|
)
|
|
|
|
mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARIES GNUTLS_LIBRARY GNUTLS_DANE_LIBRARY)
|