include(FetchContent)
# Declare transitive content first because FetchContent uses the first
# declaration it encounters. This keeps every dependency on a floating branch.
FetchContent_Declare(
httplib
GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git
GIT_TAG master
GIT_SHALLOW TRUE
)
FetchContent_Declare(
json
GIT_REPOSITORY https://github.com/nlohmann/json.git
GIT_TAG develop
GIT_SHALLOW TRUE
)
FetchContent_Declare(
uni-algo
GIT_REPOSITORY https://github.com/uni-algo/uni-algo.git
GIT_TAG main
GIT_SHALLOW TRUE
)
FetchContent_Declare(
libmw
GIT_REPOSITORY https://github.com/MetroWind/libmw.git
GIT_TAG master
GIT_SHALLOW TRUE
)
FetchContent_Declare(
macrodown
GIT_REPOSITORY https://git.xeno.darksair.org/macrodown.git
GIT_TAG master
GIT_SHALLOW TRUE
)
FetchContent_Declare(
tomlplusplus
GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
GIT_TAG master
GIT_SHALLOW TRUE
)
FetchContent_Declare(
inja
GIT_REPOSITORY https://github.com/pantor/inja.git
GIT_TAG main
GIT_SHALLOW TRUE
)
FetchContent_Declare(
spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog.git
GIT_TAG v1.x
GIT_SHALLOW TRUE
)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG main
GIT_SHALLOW TRUE
)
set(LIBMW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(LIBMW_BUILD_URL ON CACHE BOOL "" FORCE)
set(LIBMW_BUILD_SQLITE ON CACHE BOOL "" FORCE)
set(LIBMW_BUILD_HTTP_SERVER ON CACHE BOOL "" FORCE)
set(LIBMW_BUILD_CRYPTO ON CACHE BOOL "" FORCE)
set(INJA_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(INJA_EXPORT OFF CACHE BOOL "" FORCE)
set(INJA_INSTALL OFF CACHE BOOL "" FORCE)
set(INJA_USE_EMBEDDED_JSON OFF CACHE BOOL "" FORCE)
set(SPDLOG_BUILD_EXAMPLE OFF CACHE BOOL "" FORCE)
set(SPDLOG_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(SPDLOG_INSTALL OFF CACHE BOOL "" FORCE)
set(SPDLOG_USE_STD_FORMAT ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(
spdlog
json
uni-algo
libmw
macrodown
tomlplusplus
inja
)
if(CARD_COLLECTION_BUILD_TESTS)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
endif()
find_package(
ImageMagick 7 REQUIRED
COMPONENTS Magick++ MagickWand MagickCore
)