summaryrefslogtreecommitdiffstats
path: root/Modules/FindGnuTLS.cmake
diff options
context:
space:
mode:
authorPhilip Lowman <philip@yhbt.com>2009-08-13 02:25:31 (GMT)
committerPhilip Lowman <philip@yhbt.com>2009-08-13 02:25:31 (GMT)
commit1cde761fafa184ea3a2d27ac590328c87e55e94a (patch)
tree021926c5d256e8143620ded32f450572cdeb9f74 /Modules/FindGnuTLS.cmake
parentfe18d13f798f7b17737fb8d227075fdf7476c329 (diff)
downloadCMake-1cde761fafa184ea3a2d27ac590328c87e55e94a.zip
CMake-1cde761fafa184ea3a2d27ac590328c87e55e94a.tar.gz
CMake-1cde761fafa184ea3a2d27ac590328c87e55e94a.tar.bz2
Find module for GnuTLS, the GNU Transport Layer Security library (Issue #9228)
Diffstat (limited to 'Modules/FindGnuTLS.cmake')
-rw-r--r--Modules/FindGnuTLS.cmake58
1 files changed, 58 insertions, 0 deletions
diff --git a/Modules/FindGnuTLS.cmake b/Modules/FindGnuTLS.cmake
new file mode 100644
index 0000000..50d596b
--- /dev/null
+++ b/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, <neundorf@kde.org>
+#
+# Changes are Copyright 2009, Brad Hards, <bradh@kde.org>
+# Copyright 2009, Philip Lowman, <philip@yhbt.com>
+#
+# 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})
+