Prechádzať zdrojové kódy

Find module for GnuTLS, the GNU Transport Layer Security library (Issue #9228)

Philip Lowman 16 rokov pred
rodič
commit
1cde761faf
1 zmenil súbory, kde vykonal 58 pridanie a 0 odobranie
  1. 58 0
      Modules/FindGnuTLS.cmake

+ 58 - 0
Modules/FindGnuTLS.cmake

@@ -0,0 +1,58 @@
+# - Try to find the GNU Transport Layer Security library (gnutls)
+#
+# Once done this will define
+#
+#  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
+
+# Adapted from FindXml2.cmake, which is:
+#   Copyright (c) 2006, Alexander Neundorf, <[email protected]>
+#
+# Changes are Copyright 2009, Brad Hards, <[email protected]>
+#             Copyright 2009, Philip Lowman, <[email protected]>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+# 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 (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
+
+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)
+   PKG_CHECK_MODULES(PC_GNUTLS gnutls)
+   SET(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
+ENDIF (NOT WIN32)
+
+FIND_PATH(GNUTLS_INCLUDE_DIR gnutls.h
+   HINTS
+   ${PC_GNUTLS_INCLUDEDIR}
+   ${PC_GNUTLS_INCLUDE_DIRS}
+   PATH_SUFFIXES gnutls
+   )
+
+FIND_LIBRARY(GNUTLS_LIBRARY NAMES gnutls libgnutls
+   HINTS
+   ${PC_GNUTLS_LIBDIR}
+   ${PC_GNUTLS_LIBRARY_DIRS}
+   )
+
+# handle the QUIETLY and REQUIRED arguments and set GNUTLS_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS DEFAULT_MSG GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
+
+SET(GNUTLS_LIBRARIES    ${GNUTLS_LIBRARY})
+SET(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
+