Files
2024-12-24 15:00:28 +03:00

45 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(test_package LANGUAGES C)
option(OPENSSL_WITH_LEGACY "OpenSSL with support for the legacy provider" ON)
option(OPENSSL_WITH_MD4 "OpenSSL with MD4 support (needs legacy provider)" ON)
option(OPENSSL_WITH_RIPEMD160 "OpenSSL with RIPEMD16 support (needs legacy provider)" ON)
set(OpenSSL_DEBUG 1)
find_package(OpenSSL REQUIRED)
# Test whether variables from https://cmake.org/cmake/help/latest/module/FindOpenSSL.html
# are properly defined in conan generators
set(_custom_vars
OPENSSL_FOUND
OPENSSL_INCLUDE_DIR
OPENSSL_CRYPTO_LIBRARY
OPENSSL_CRYPTO_LIBRARIES
OPENSSL_SSL_LIBRARY
OPENSSL_SSL_LIBRARIES
OPENSSL_LIBRARIES
OPENSSL_VERSION
)
foreach(_custom_var ${_custom_vars})
if(DEFINED ${_custom_var})
message(STATUS "${_custom_var}: ${${_custom_var}}")
else()
message(FATAL_ERROR "${_custom_var} not defined")
endif()
endforeach()
add_executable(test_package test_package.c digest.c)
target_link_libraries(test_package PRIVATE OpenSSL::SSL OpenSSL::Crypto)
if(OPENSSL_WITH_LEGACY)
target_sources(test_package PRIVATE digest_legacy.c)
# do now show deperecation warnings
target_compile_definitions(test_package PRIVATE OPENSSL_SUPPRESS_DEPRECATED TEST_OPENSSL_LEGACY)
if(OPENSSL_WITH_MD4)
target_compile_definitions(test_package PRIVATE OPENSSL_WITH_MD4)
endif()
if(OPENSSL_WITH_RIPEMD160)
target_compile_definitions(test_package PRIVATE OPENSSL_WITH_RIPEMD160)
endif()
endif()