Update CMake environment and add new tool
[umurmur.git] / cmake / Modules / SelectTLSBackend.cmake
1 function(SelectTLSBackend SSL)
2   if("${SSL}" STREQUAL "")
3     set(SSL "polarssl")
4   endif()
5
6   set(LIBRARIES "")
7   set(INCLUDE_DIR "")
8   set(LIBRARY_DIR "")
9
10   if("${SSL}" STREQUAL "openssl")
11     find_package(OpenSSL REQUIRED)
12
13     if(OPENSSL_FOUND)
14       set(LIBRARIES ${OPENSSL_LIBRARIES})
15       set(INCLUDE_DIR ${OPENSSL_INCLUDE_DIR})
16       set(LIBRARY_DIR ${OPENSSL_LIB_DIR})
17
18       if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
19         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations" PARENT_SCOPE)
20       endif()
21
22     endif()
23   elseif("${SSL}" STREQUAL "polarssl")
24     find_package(PolarSSL REQUIRED)
25
26     if(POLARSSL_FOUND)
27       set(USE_POLARSSL ON PARENT_SCOPE)
28
29       set(LIBRARIES ${POLARSSL_LIBRARIES})
30       set(INCLUDE_DIR ${POLARSSL_INCLUDE_DIR})
31       set(LIBRARY_DIR ${POLARSSL_LIB_DIR})
32     endif()
33   elseif("${SSL}" STREQUAL "mbedtls")
34     find_package(mbedTLS REQUIRED)
35
36     if(MBEDTLS_FOUND)
37       set(USE_MBEDTLS ON PARENT_SCOPE)
38
39       set(LIBRARIES ${MBEDTLS_LIBRARIES})
40       set(INCLUDE_DIR ${MBEDTLS_INCLUDE_DIR})
41       set(LIBRARY_DIR ${MBEDTLS_LIB_DIR})
42     endif()
43   elseif("${SSL}" STREQUAL "gnutls")
44     find_package(GnuTLS 3 REQUIRED)
45
46     if(GNUTLS_FOUND)
47       set(USE_GNUTLS ON PARENT_SCOPE)
48
49       set(LIBRARIES ${GNUTLS_LIBRARIES})
50       set(INCLUDE_DIR ${GNUTLS_INCLUDE_DIR})
51       set(LIBRARY_DIR ${GNUTLS_LIB_DIR})
52     endif()
53
54     find_package(Nettle REQUIRED)
55
56     if(NETTLE_FOUND)
57       list(APPEND LIBRARIES ${NETTLE_LIBRARIES})
58     endif()
59   endif()
60
61   set(SSLIMP_LIBRARIES ${LIBRARIES} PARENT_SCOPE)
62   set(SSLIMP_LIBRARY_DIR ${LIBRARY_DIR} PARENT_SCOPE)
63   set(SSLIMP_INCLUDE_DIR ${INCLUDE_DIR} PARENT_SCOPE)
64 endfunction()