]> source.dussan.org Git - tigervnc.git/commitdiff
Fixes problems with cmake detection of GnuTLS. The current CMakeLists.txt uses check...
authorBrian Hinz <bphinz@users.sourceforge.net>
Wed, 19 Feb 2014 05:19:37 +0000 (05:19 +0000)
committerBrian Hinz <bphinz@users.sourceforge.net>
Wed, 19 Feb 2014 05:19:37 +0000 (05:19 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5160 3789f03b-4d11-0410-bbf8-ca57d06f2519

CMakeLists.txt
cmake/Modules/FindGcrypt.cmake [new file with mode: 0644]
cmake/Modules/FindGpg_Error.cmake [new file with mode: 0644]

index 46895666d515d5b04488f3c5b40f23992367f5e4..0c78d15cda198a25e4cbe8f6ca18c1b55f4b0ba1 100644 (file)
@@ -303,8 +303,20 @@ endif()
 option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
 if(ENABLE_GNUTLS)
   find_package(GnuTLS)
+  find_package(Gcrypt)
+  find_package(Gpg_Error)
   if (GNUTLS_FOUND)
     include_directories(${GNUTLS_INCLUDE_DIR})
+    if (GCRYPT_FOUND)
+      include_directories(${GCRYPT_INCLUDE_DIR})
+      set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARIES};${GCRYPT_LIBRARIES})
+      set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GCRYPT_LIBRARIES})
+      if (GPG_ERROR_FOUND)
+        include_directories(${GPG_ERROR_INCLUDE_DIR})
+        set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARIES};${GPG_ERROR_LIBRARIES})
+        set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GPG_ERROR_LIBRARIES})
+      endif()
+    endif()
     add_definitions("-DHAVE_GNUTLS")
     add_definitions(${GNUTLS_DEFINITIONS})
     
diff --git a/cmake/Modules/FindGcrypt.cmake b/cmake/Modules/FindGcrypt.cmake
new file mode 100644 (file)
index 0000000..2158081
--- /dev/null
@@ -0,0 +1,36 @@
+# - Find gcrypt
+# Find the native GCRYPT includes and library
+#
+#  GCRYPT_FOUND - True if gcrypt found.
+#  GCRYPT_INCLUDE_DIR - where to find gcrypt.h, etc.
+#  GCRYPT_LIBRARIES - List of libraries when using gcrypt.
+
+if (GCRYPT_INCLUDE_DIR AND GCRYPT_LIBRARIES)
+  set(GCRYPT_FIND_QUIETLY TRUE)
+endif (GCRYPT_INCLUDE_DIR AND GCRYPT_LIBRARIES)
+
+# Include dir
+find_path(GCRYPT_INCLUDE_DIR
+       NAMES
+         gcrypt.h
+)
+
+# Library
+find_library(GCRYPT_LIBRARY 
+  NAMES gcrypt
+)
+
+# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GCRYPT DEFAULT_MSG GCRYPT_LIBRARY GCRYPT_INCLUDE_DIR)
+
+IF(GCRYPT_FOUND)
+  SET( GCRYPT_LIBRARIES ${GCRYPT_LIBRARY} )
+ELSE(GCRYPT_FOUND)
+  SET( GCRYPT_LIBRARIES )
+ENDIF(GCRYPT_FOUND)
+
+# Lastly make it so that the GCRYPT_LIBRARY and GCRYPT_INCLUDE_DIR variables
+# only show up under the advanced options in the gui cmake applications.
+MARK_AS_ADVANCED( GCRYPT_LIBRARY GCRYPT_INCLUDE_DIR )
diff --git a/cmake/Modules/FindGpg_Error.cmake b/cmake/Modules/FindGpg_Error.cmake
new file mode 100644 (file)
index 0000000..2f1d372
--- /dev/null
@@ -0,0 +1,36 @@
+# - Find gpg-error
+# Find the native GPG_ERROR includes and library
+#
+#  GPG_ERROR_FOUND - True if gpg-error found.
+#  GPG_ERROR_INCLUDE_DIR - where to find gpg-error.h, etc.
+#  GPG_ERROR_LIBRARIES - List of libraries when using gpg-error.
+
+if (GPG_ERROR_INCLUDE_DIR AND GPG_ERROR_LIBRARIES)
+  set(GPG_ERROR_FIND_QUIETLY TRUE)
+endif (GPG_ERROR_INCLUDE_DIR AND GPG_ERROR_LIBRARIES)
+
+# Include dir
+find_path(GPG_ERROR_INCLUDE_DIR
+       NAMES
+         gpg-error.h
+)
+
+# Library
+find_library(GPG_ERROR_LIBRARY 
+  NAMES gpg-error
+)
+
+# handle the QUIETLY and REQUIRED arguments and set GPG_ERROR_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GPG_ERROR DEFAULT_MSG GPG_ERROR_LIBRARY GPG_ERROR_INCLUDE_DIR)
+
+IF(GPG_ERROR_FOUND)
+  SET( GPG_ERROR_LIBRARIES ${GPG_ERROR_LIBRARY} )
+ELSE(GPG_ERROR_FOUND)
+  SET( GPG_ERROR_LIBRARIES )
+ENDIF(GPG_ERROR_FOUND)
+
+# Lastly make it so that the GPG_ERROR_LIBRARY and GPG_ERROR_INCLUDE_DIR variables
+# only show up under the advanced options in the gui cmake applications.
+MARK_AS_ADVANCED( GPG_ERROR_LIBRARY GPG_ERROR_INCLUDE_DIR )