uencrypt: add support for mbedtls
[openwrt/staging/jow.git] / package / utils / uencrypt / src / CMakeLists.txt
index cd25d2f12f62a3e637ed4e59f4802cb36528fbe4..eadb2eadb377ab21fdda1a328c40d17e2a4b17c0 100644 (file)
@@ -5,16 +5,27 @@ cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
 project(uencrypt LANGUAGES C)
 
 option(USE_WOLFSSL "Use WolfSSL as crypto provider" OFF)
-if (USE_WOLFSSL)
-       add_definitions(-DUSE_WOLFSSL)
-       find_library(WOLFSSL_LIBRARY wolfssl REQUIRED)
-       set(CRYPTO_LIBRARIES ${WOLFSSL_LIBRARY})
+option(USE_MBEDTLS "Use mbedTLS as crypto provider" OFF)
+if (USE_MBEDTLS)
+       if (USE_WOLFSSL)
+               message(WARNING "USE_MBEDTLS and USE_WOLFSSL are both set. Building with USE_MBEDTLS.")
+       endif()
+       add_definitions(-DUSE_MBEDTLS)
+       find_library(MBEDCRYPTO_LIBRARY mbedcrypto REQUIRED)
+       set(CRYPTO_LIBRARIES ${MBEDCRYPTO_LIBRARY})
+       add_executable(${PROJECT_NAME} ${PROJECT_NAME}-mbedtls.c)
 else()
-       find_package(OpenSSL REQUIRED)
-       set(CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+       add_executable(${PROJECT_NAME} ${PROJECT_NAME}-openssl.c)
+       if (USE_WOLFSSL)
+               add_definitions(-DUSE_WOLFSSL)
+               find_library(WOLFSSL_LIBRARY wolfssl REQUIRED)
+               set(CRYPTO_LIBRARIES ${WOLFSSL_LIBRARY})
+       else()
+               find_package(OpenSSL REQUIRED)
+               set(CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+       endif()
 endif()
 
-add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c)
 target_link_libraries(${PROJECT_NAME} ${CRYPTO_LIBRARIES})
 
 install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)