From 6dad5281d1e11487312cf285539d5e059eed9e23 Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 20 May 2026 18:31:40 +0000 Subject: [PATCH] oops httplib patch --- .patch/httplib/0003-openssl.patch | 40 +++++++++++++++++++++++++++++++ externals/cpmfile.json | 3 ++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .patch/httplib/0003-openssl.patch diff --git a/.patch/httplib/0003-openssl.patch b/.patch/httplib/0003-openssl.patch new file mode 100644 index 0000000000..915b963de6 --- /dev/null +++ b/.patch/httplib/0003-openssl.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a236839..8d98365 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -188,18 +188,23 @@ set(HTTPLIB_IS_USING_NON_BLOCKING_GETADDRINFO ${HTTPLIB_USE_NON_BLOCKING_GETADDR + # Threads needed for on some systems, and for on Linux + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) +-# Since Cmake v3.11, Crypto & SSL became optional when not specified as COMPONENTS. +-if(HTTPLIB_REQUIRE_OPENSSL) +- find_package(OpenSSL ${_HTTPLIB_OPENSSL_MIN_VER} COMPONENTS Crypto SSL REQUIRED) +- set(HTTPLIB_IS_USING_OPENSSL TRUE) +-elseif(HTTPLIB_USE_OPENSSL_IF_AVAILABLE) +- find_package(OpenSSL ${_HTTPLIB_OPENSSL_MIN_VER} COMPONENTS Crypto SSL QUIET) +- # Avoid a rare circumstance of not finding all components but the end-user did their +- # own call for OpenSSL, which might trick us into thinking we'd otherwise have what we wanted +- if (TARGET OpenSSL::SSL AND TARGET OpenSSL::Crypto) +- set(HTTPLIB_IS_USING_OPENSSL ${OPENSSL_FOUND}) +- else() +- set(HTTPLIB_IS_USING_OPENSSL FALSE) ++ ++# Eden top level defines it's own custom target alias for OpenSSL... ++if (NOT TARGET OpenSSL::SSL OR NOT TARGET OpenSSL::Crypto) ++ add_subdirectory(${CMAKE_SOURCE_DIR}/externals/openssl) ++ # Since Cmake v3.11, Crypto & SSL became optional when not specified as COMPONENTS. ++ if(HTTPLIB_REQUIRE_OPENSSL) ++ #find_package(OpenSSL ${_HTTPLIB_OPENSSL_MIN_VER} COMPONENTS Crypto SSL REQUIRED) ++ set(HTTPLIB_IS_USING_OPENSSL TRUE) ++ elseif(HTTPLIB_USE_OPENSSL_IF_AVAILABLE) ++ #find_package(OpenSSL ${_HTTPLIB_OPENSSL_MIN_VER} COMPONENTS Crypto SSL QUIET) ++ # Avoid a rare circumstance of not finding all components but the end-user did their ++ # own call for OpenSSL, which might trick us into thinking we'd otherwise have what we wanted ++ if (TARGET OpenSSL::SSL AND TARGET OpenSSL::Crypto) ++ set(HTTPLIB_IS_USING_OPENSSL ${OPENSSL_FOUND}) ++ else() ++ set(HTTPLIB_IS_USING_OPENSSL FALSE) ++ endif() + endif() + endif() + diff --git a/externals/cpmfile.json b/externals/cpmfile.json index 4e9356cb83..5223a9884a 100644 --- a/externals/cpmfile.json +++ b/externals/cpmfile.json @@ -33,7 +33,8 @@ "find_args": "MODULE GLOBAL", "patches": [ "0001-mingw.patch", - "0002-fix-zstd.patch" + "0002-fix-zstd.patch", + "0003-openssl.patch" ], "options": [ "HTTPLIB_REQUIRE_OPENSSL ON",