44 lines
1.3 KiB
CMake
44 lines
1.3 KiB
CMake
include(FetchContent)
|
|
|
|
# Work around curl's old cmake_minimum_required for CMake 4.x
|
|
set(CMAKE_POLICY_VERSION_MINIMUM 3.5 CACHE STRING "" FORCE)
|
|
|
|
FetchContent_Declare(
|
|
CURL
|
|
URL https://github.com/curl/curl/releases/download/curl-8_12_1/curl-8.12.1.tar.xz
|
|
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
|
|
)
|
|
|
|
# Minimal curl build — static, SChannel TLS, no optional deps
|
|
set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
|
|
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
|
|
set(BUILD_TESTING OFF CACHE BOOL "" FORCE)
|
|
|
|
# TLS backend: Windows native SChannel
|
|
set(CURL_USE_OPENSSL OFF CACHE BOOL "" FORCE)
|
|
set(CURL_USE_SCHANNEL ON CACHE BOOL "" FORCE)
|
|
|
|
# Disable optional compression/protocol deps
|
|
set(CURL_ZLIB OFF CACHE BOOL "" FORCE)
|
|
set(CURL_BROTLI OFF CACHE BOOL "" FORCE)
|
|
set(CURL_ZSTD OFF CACHE BOOL "" FORCE)
|
|
set(USE_NGHTTP2 OFF CACHE BOOL "" FORCE)
|
|
set(CURL_USE_LIBSSH2 OFF CACHE BOOL "" FORCE)
|
|
set(CURL_USE_LIBPSL OFF CACHE BOOL "" FORCE)
|
|
set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
|
|
set(CURL_DISABLE_LDAPS ON CACHE BOOL "" FORCE)
|
|
|
|
FetchContent_MakeAvailable(CURL)
|
|
|
|
add_library(http STATIC
|
|
src/http.cpp
|
|
)
|
|
|
|
target_include_directories(http
|
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(http
|
|
PUBLIC CURL::libcurl
|
|
)
|