tools/patchelf: update to 0.18.0
[openwrt/staging/dedeckeh.git] / package / utils / uencrypt / src / CMakeLists.txt
1 # SPDX-License-Identifier: GPL-2.0-or-later
2 # Copyright (C) 2022 Eneas Ulir de Queiroz
3
4 cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
5 project(uencrypt LANGUAGES C)
6
7 option(USE_WOLFSSL "Use WolfSSL as crypto provider" OFF)
8 option(USE_MBEDTLS "Use mbedTLS as crypto provider" OFF)
9 if (USE_MBEDTLS)
10 if (USE_WOLFSSL)
11 message(WARNING "USE_MBEDTLS and USE_WOLFSSL are both set. Building with USE_MBEDTLS.")
12 endif()
13 add_definitions(-DUSE_MBEDTLS)
14 find_library(MBEDCRYPTO_LIBRARY mbedcrypto REQUIRED)
15 set(CRYPTO_LIBRARIES ${MBEDCRYPTO_LIBRARY})
16 set(CRYPTO_SOURCES ${PROJECT_NAME}-mbedtls.c)
17 else()
18 set(CRYPTO_SOURCES ${PROJECT_NAME}-openssl.c)
19 if (USE_WOLFSSL)
20 add_definitions(-DUSE_WOLFSSL)
21 find_library(WOLFSSL_LIBRARY wolfssl REQUIRED)
22 set(CRYPTO_LIBRARIES ${WOLFSSL_LIBRARY})
23 else()
24 find_package(OpenSSL REQUIRED)
25 set(CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
26 endif()
27 endif()
28 add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c ${PROJECT_NAME}.h ${CRYPTO_SOURCES})
29
30 target_link_libraries(${PROJECT_NAME} ${CRYPTO_LIBRARIES})
31
32 install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)