128 lines
2.8 KiB
CMake
128 lines
2.8 KiB
CMake
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.11.3
|
|
SYSTEM
|
|
EXCLUDE_FROM_ALL
|
|
OVERRIDE_FIND_PACKAGE
|
|
)
|
|
|
|
FetchContent_Declare(
|
|
glaze
|
|
GIT_REPOSITORY https://github.com/stephenberry/glaze.git
|
|
GIT_TAG v4.3.1
|
|
SYSTEM
|
|
EXCLUDE_FROM_ALL
|
|
OVERRIDE_FIND_PACKAGE
|
|
)
|
|
|
|
FetchContent_Declare(
|
|
simdjson
|
|
GIT_REPOSITORY https://github.com/simdjson/simdjson.git
|
|
GIT_TAG v3.11.0
|
|
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.6
|
|
SOURCE_SUBDIR build/cmake
|
|
SYSTEM
|
|
EXCLUDE_FROM_ALL
|
|
OVERRIDE_FIND_PACKAGE
|
|
)
|
|
|
|
FetchContent_Declare(
|
|
mimalloc
|
|
GIT_REPOSITORY https://github.com/microsoft/mimalloc.git
|
|
GIT_TAG v2.1.7
|
|
SYSTEM
|
|
EXCLUDE_FROM_ALL
|
|
OVERRIDE_FIND_PACKAGE
|
|
)
|
|
|
|
FetchContent_Declare(
|
|
tl-expected
|
|
GIT_REPOSITORY https://github.com/TartanLlama/expected.git
|
|
GIT_TAG v1.1.0
|
|
SYSTEM
|
|
EXCLUDE_FROM_ALL
|
|
OVERRIDE_FIND_PACKAGE
|
|
)
|
|
|
|
FetchContent_Declare(
|
|
unordered_dense
|
|
GIT_REPOSITORY https://github.com/martinus/unordered_dense.git
|
|
GIT_TAG v4.4.0
|
|
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)
|