Added HttpClient, DataOps and JSON. Upgraded dep handling
This commit is contained in:
127
CMake/FindDeps.cmake
Normal file
127
CMake/FindDeps.cmake
Normal file
@ -0,0 +1,127 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user