@@ -22,7 +22,28 @@ target_compile_definitions(${TARGET} PRIVATE
2222 CPPHTTPLIB_TCP_NODELAY=1
2323)
2424
25- if (LLAMA_OPENSSL)
25+ if (LLAMA_BUILD_BORINGSSL)
26+ set (BORINGSSL_GIT "https://boringssl.googlesource.com/boringssl" CACHE STRING "BorginSSL git repository" )
27+ set (BORINGSSL_VERSION "0.20251002.0" CACHE STRING "BoringSSL version" )
28+
29+ message (STATUS "Fetching BoringSSL version ${BORINGSSL_VERSION} " )
30+
31+ include (FetchContent)
32+ FetchContent_Declare(
33+ boringssl
34+ GIT_REPOSITORY ${BORINGSSL_GIT}
35+ GIT_TAG ${BORINGSSL_VERSION}
36+ )
37+
38+ set (SAVED_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS} )
39+ set (BUILD_SHARED_LIBS OFF )
40+ FetchContent_MakeAvailable(boringssl)
41+ set (BUILD_SHARED_LIBS ${SAVED_BUILD_SHARED_LIBS} )
42+
43+ set (CPPHTTPLIB_OPENSSL_SUPPORT TRUE )
44+ target_link_libraries (${TARGET} PUBLIC ssl crypto)
45+
46+ elseif (LLAMA_OPENSSL)
2647 find_package (OpenSSL)
2748 if (OpenSSL_FOUND)
2849 include (CheckCSourceCompiles)
@@ -44,17 +65,20 @@ if (LLAMA_OPENSSL)
4465 set (CMAKE_REQUIRED_INCLUDES ${SAVED_CMAKE_REQUIRED_INCLUDES} )
4566 if (OPENSSL_VERSION_SUPPORTED)
4667 message (STATUS "OpenSSL found: ${OPENSSL_VERSION} " )
47- target_compile_definitions ( ${TARGET} PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
68+ set ( CPPHTTPLIB_OPENSSL_SUPPORT TRUE )
4869 target_link_libraries (${TARGET} PUBLIC OpenSSL::SSL OpenSSL::Crypto)
49- if (APPLE AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" )
50- target_compile_definitions (${TARGET} PUBLIC CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN)
51- find_library (CORE_FOUNDATION_FRAMEWORK CoreFoundation REQUIRED)
52- find_library (SECURITY_FRAMEWORK Security REQUIRED)
53- target_link_libraries (${TARGET} PUBLIC ${CORE_FOUNDATION_FRAMEWORK} ${SECURITY_FRAMEWORK} )
54- endif ()
5570 endif ()
5671 else ()
5772 message (STATUS "OpenSSL not found, SSL support disabled" )
5873 endif ()
5974endif ()
6075
76+ if (CPPHTTPLIB_OPENSSL_SUPPORT)
77+ target_compile_definitions (${TARGET} PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT) # used in server.cpp
78+ if (APPLE AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" )
79+ target_compile_definitions (${TARGET} PRIVATE CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN)
80+ find_library (CORE_FOUNDATION_FRAMEWORK CoreFoundation REQUIRED)
81+ find_library (SECURITY_FRAMEWORK Security REQUIRED)
82+ target_link_libraries (${TARGET} PUBLIC ${CORE_FOUNDATION_FRAMEWORK} ${SECURITY_FRAMEWORK} )
83+ endif ()
84+ endif ()
0 commit comments