diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a69d94dd5551..4bf8b2789ae7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,7 +92,7 @@ option(LLAMA_TOOLS_INSTALL "llama: install tools" ${LLAMA_TOOLS_INSTALL_ # 3rd party libs option(LLAMA_CURL "llama: use libcurl to download model from an URL" ON) -option(LLAMA_OPENSSL "llama: use openssl to download model from an URL" ON) +option(LLAMA_OPENSSL "llama: use openssl to support HTTPS" OFF) option(LLAMA_LLGUIDANCE "llama-common: include LLGuidance library for structured output in common utils" OFF) # Required for relocatable CMake package diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 0cf104833c7f1..8ab3d445104a7 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -87,11 +87,13 @@ if (LLAMA_CURL) target_compile_definitions(${TARGET} PUBLIC LLAMA_USE_CURL) include_directories(${CURL_INCLUDE_DIRS}) set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} ${CURL_LIBRARIES}) +endif() -elseif (LLAMA_OPENSSL) +if (LLAMA_OPENSSL) find_package(OpenSSL) if (OpenSSL_FOUND) include(CheckCSourceCompiles) + set(SAVED_CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES}) set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) check_c_source_compiles(" #include @@ -106,6 +108,7 @@ elseif (LLAMA_OPENSSL) #endif int main() { return 0; } " OPENSSL_VERSION_SUPPORTED) + set(CMAKE_REQUIRED_INCLUDES ${SAVED_CMAKE_REQUIRED_INCLUDES}) if (OPENSSL_VERSION_SUPPORTED) message(STATUS "OpenSSL found: ${OPENSSL_VERSION}") target_compile_definitions(${TARGET} PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT) diff --git a/tools/server/CMakeLists.txt b/tools/server/CMakeLists.txt index 83b608c32a9c7..06df3ee49dd33 100644 --- a/tools/server/CMakeLists.txt +++ b/tools/server/CMakeLists.txt @@ -1,7 +1,5 @@ set(TARGET llama-server) -option(LLAMA_SERVER_SSL "Build SSL support for the server" OFF) - include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) if (MINGW) @@ -37,12 +35,6 @@ target_include_directories(${TARGET} PRIVATE ../mtmd) target_include_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}) target_link_libraries(${TARGET} PRIVATE common mtmd ${CMAKE_THREAD_LIBS_INIT}) -if (LLAMA_SERVER_SSL) - find_package(OpenSSL REQUIRED) - target_link_libraries(${TARGET} PRIVATE OpenSSL::SSL OpenSSL::Crypto) - target_compile_definitions(${TARGET} PRIVATE CPPHTTPLIB_OPENSSL_SUPPORT) -endif() - if (WIN32) TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ws2_32) endif() diff --git a/tools/server/README.md b/tools/server/README.md index 73b4cc6f03a28..ecf3b9cd724db 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -271,7 +271,7 @@ For more details, please refer to [multimodal documentation](../../docs/multimod - Using `CMake`: ```bash - cmake -B build -DLLAMA_SERVER_SSL=ON + cmake -B build -DLLAMA_OPENSSL=ON cmake --build build --config Release -t llama-server ```