Using libressl instead of openssl

This commit is contained in:
Vladyslav Baranovskyi
2024-07-17 13:37:44 +03:00
parent 93b2b92eb7
commit 3d81d85dd8
2 changed files with 26 additions and 141 deletions

View File

@@ -25,16 +25,32 @@ endif ()
function(LinkCurl TARGET)
find_package(CURL QUIET)
if (NOT ${CURL_FOUND})
set(CURL_DEPS_INSTALL ${CMAKE_BINARY_DIR}/deps_curl)
target_include_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/include)
target_link_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/lib)
if (MSVC)
target_link_libraries(${TARGET} PRIVATE libcrypto.lib libssl.lib libcurl_imp.lib)
elseif (APPLE)
target_link_libraries(${TARGET} PRIVATE curl)
else ()
target_link_libraries(${TARGET} PRIVATE crypto ssl curl)
if (NOT DEFINED CURL_MIRROR_LINK)
set(CURL_MIRROR_LINK https://curl.se/download/curl-7.78.0.tar.gz)
endif ()
if (NOT DEFINED LIBRESSL_MIRROR_LINK)
set(LIBRESSL_MIRROR_LINK https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.2.tar.gz)
endif ()
FetchContent_Declare(
libressl
URL ${LIBRESSL_MIRROR_LINK}
)
FetchContent_MakeAvailable(libressl)
FetchContent_Declare(
curl
URL ${CURL_MIRROR_LINK}
)
FetchContent_GetProperties(curl)
if(NOT curl_POPULATED)
set(CURL_USE_LIBRESSL ON CACHE BOOL "Use LibreSSL instead of OpenSSL" FORCE)
FetchContent_Populate(curl)
add_subdirectory(${curl_SOURCE_DIR} ${curl_BINARY_DIR})
set(OPENSSL_ROOT_DIR ${libressl_SOURCE_DIR})
set(OPENSSL_LIBRARIES ${libressl_BINARY_DIR})
endif()
else ()
target_include_directories(${TARGET} PRIVATE ${CURL_INCLUDE_DIR})
target_link_libraries(${TARGET} PRIVATE CURL::libcurl)