summaryrefslogtreecommitdiff
path: root/cmake/dependencies/openssl.cmake
blob: 19edfa2bb26f86a30c74b176797ecf19f4cd903c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
find_package(OpenSSL QUIET)
if (OPENSSL_FOUND)
  set(HAVE_OPENSSL_RNG TRUE)
  if (OPENSSL_VERSION VERSION_LESS "3.0.0")
    message(STATUS "Install version >= 3.0.0 to enable OpenSSL support "
                   "(found version \"${OPENSSL_VERSION}\")")
  else ()
    set(DISABLE_OPENSSL FALSE CACHE BOOL "Disable OpenSSL support")
    if (NOT DISABLE_OPENSSL)
      message(STATUS "OpenSSL support enabled")
      set(HAVE_OPENSSL TRUE CACHE INTERNAL "")
      set(IRMD_SECMEM_MAX 1048576 CACHE STRING "IRMd secure heap size")
      set(PROC_SECMEM_MAX 1048576 CACHE STRING "Process secure heap size")
      set(SECMEM_GUARD 32 CACHE STRING "Secure heap min size")
      set(DISABLE_PQC FALSE CACHE BOOL "Disable post-quantum cryptography support")
      if (OPENSSL_VERSION VERSION_GREATER_EQUAL "3.4.0")
        if (NOT DISABLE_PQC)
          set(HAVE_OPENSSL_PQC TRUE CACHE INTERNAL "")
          message(STATUS "OpenSSL PQC support enabled")
        else()
          message(STATUS "OpenSSL PQC support disabled by user")
          unset(HAVE_OPENSSL_PQC CACHE)
        endif()
      else()
        message(STATUS "Install OpenSSL >= 3.4.0 for PQC support")
      endif()
    else()
      message(STATUS "OpenSSL support disabled")
      unset(HAVE_OPENSSL CACHE)
    endif()
  endif ()
else()
  message(STATUS "Install OpenSSL version >= 3.0.0 to enable OpenSSL support")
  unset(HAVE_OPENSSL_RNG)
  unset(HAVE_OPENSSL CACHE)
  set(OPENSSL_INCLUDE_DIR "")
  set(OPENSSL_LIBRARIES "")
  set(OPENSSL_CRYPTO_LIBRARY "")
endif ()

mark_as_advanced(OPENSSL_LIBRARIES OPENSSL_CRYPTO_LIBRARY)