Files
IACore/CMake/FindDeps.cmake
2025-11-30 05:43:12 +05:30

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.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)