mbedTLS 2.x support
[umurmur.git] / CMakeLists.txt
index 2b666e320c002462df7372421c1b2983e3164bc7..42e0b3e55d9e4d37abb180a0f5b14b8667e7393c 100644 (file)
@@ -15,6 +15,9 @@ endif(NOT CMAKE_BUILD_TYPE)
 option(USE_POLARSSL_TESTCERT "Link to the PolarSSL test certificate and key." OFF)
 option(USE_POLARSSL_HAVEGE "Use the PolarSSL HAVEGE random generator key." OFF)
 
+option(USE_MBEDTLS_TESTCERT "Link to the mbedTLS test certificate and key." OFF)
+option(USE_MBEDTLS_HAVEGE "Use the mbedTLS HAVEGE random generator key." OFF)
+
 option(USE_SHAREDMEMORY_API "Compile with Sharedmemory API support" OFF)
 
 if(USE_POLARSSL_TESTCERT OR USE_POLARSSL_HAVEGE)
@@ -23,6 +26,12 @@ if(USE_POLARSSL_TESTCERT OR USE_POLARSSL_HAVEGE)
   endif(SSL MATCHES "openssl" OR SSL MATCHES "gnutls")
 endif(USE_POLARSSL_TESTCERT OR USE_POLARSSL_HAVEGE)
 
+if(USE_MBEDTLS_TESTCERT OR USE_MBEDTLS_HAVEGE)
+  if(SSL MATCHES "openssl" OR SSL MATCHES "gnutls" OR SSL MATCHES "polarssl")
+    message(FATAL_ERROR "Selecting USE_MBEDTLS_TESTCERT or USE_MBEDTLS_HAVEGE implies SSL=mbedtls")
+  endif(SSL MATCHES "openssl" OR SSL MATCHES "gnutls" OR SSL MATCHES "polarssl")
+endif(USE_MBEDTLS_TESTCERT OR USE_MBEDTLS_HAVEGE)
+
 find_package(Libconfig REQUIRED)
 find_package(ProtobufC REQUIRED)
 include(CheckFunctionExists)
@@ -52,6 +61,14 @@ elseif("${SSL}" STREQUAL "polarssl")
     set(SSLIMP_INCLUDE_DIR ${POLARSSL_INCLUDE_DIR})
     set(SSLIMP_LIBRARY_DIR ${POLARSSL_LIB_DIR})
   endif(POLARSSL_FOUND)
+elseif("${SSL}" STREQUAL "mbedtls")
+  find_package(mbedTLS REQUIRED)
+  if(MBEDTLS_FOUND)
+    set(USE_MBEDTLS ON)
+    set(SSLIMP_LIBRARIES ${MBEDTLS_LIBRARIES})
+    set(SSLIMP_INCLUDE_DIR ${MBEDTLS_INCLUDE_DIR})
+    set(SSLIMP_LIBRARY_DIR ${MBEDTLS_LIB_DIR})
+  endif(MBEDTLS_FOUND)
 elseif("${SSL}" STREQUAL "gnutls")
   find_package(GnuTLS 3 REQUIRED)
   if(GNUTLS_FOUND)