include(FetchContent) FetchContent_Declare( httplib GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git GIT_TAG v0.14.3 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( OpenSSL GIT_REPOSITORY https://github.com/janbar/openssl-cmake.git GIT_TAG master SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( nlohmann_json GIT_REPOSITORY https://github.com/nlohmann/json.git GIT_TAG v3.12.0 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( glaze GIT_REPOSITORY https://github.com/stephenberry/glaze.git GIT_TAG v6.1.0 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( simdjson GIT_REPOSITORY https://github.com/simdjson/simdjson.git GIT_TAG v4.2.2 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( ZLIB GIT_REPOSITORY https://github.com/madler/zlib.git GIT_TAG v1.3.1 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( zstd GIT_REPOSITORY https://github.com/facebook/zstd.git GIT_TAG v1.5.7 SOURCE_SUBDIR build/cmake SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( mimalloc GIT_REPOSITORY https://github.com/microsoft/mimalloc.git GIT_TAG v3.0.10 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( tl-expected GIT_REPOSITORY https://github.com/TartanLlama/expected.git GIT_TAG v1.3.1 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) FetchContent_Declare( unordered_dense GIT_REPOSITORY https://github.com/martinus/unordered_dense.git GIT_TAG v4.8.1 SYSTEM EXCLUDE_FROM_ALL OVERRIDE_FIND_PACKAGE ) find_package(ZLIB REQUIRED) if(TARGET zlibstatic AND NOT TARGET ZLIB::ZLIB) add_library(ZLIB::ZLIB ALIAS zlibstatic) elseif(TARGET zlib AND NOT TARGET ZLIB::ZLIB) add_library(ZLIB::ZLIB ALIAS zlib) endif() find_package(zstd REQUIRED) find_package(glaze REQUIRED) find_package(simdjson REQUIRED) find_package(nlohmann_json REQUIRED) find_package(unordered_dense REQUIRED) find_package(OpenSSL REQUIRED) if(TARGET ssl AND NOT TARGET OpenSSL::SSL) add_library(OpenSSL::SSL ALIAS ssl) message(STATUS "Patched OpenSSL::SSL alias for Curl") endif() if(TARGET crypto AND NOT TARGET OpenSSL::Crypto) add_library(OpenSSL::Crypto ALIAS crypto) message(STATUS "Patched OpenSSL::Crypto alias for Curl") endif() set(MI_BUILD_SHARED ON CACHE BOOL "" FORCE) set(MI_BUILD_STATIC ON CACHE BOOL "" FORCE) set(MI_BUILD_TESTS OFF CACHE BOOL "" FORCE) find_package(mimalloc REQUIRED) set(EXPECTED_BUILD_TESTS OFF CACHE BOOL "" FORCE) find_package(tl-expected REQUIRED) set(HTTPLIB_REQUIRE_OPENSSL ON CACHE BOOL "" FORCE) set(HTTPLIB_REQUIRE_ZLIB ON CACHE BOOL "" FORCE) find_package(httplib REQUIRED)