fetchcontent_declare( <name> <contentOptions>... [EXCLUDE_FROM_ALL] [SYSTEM] [OVERRIDE_FIND_PACKAGE | FIND_PACKAGE_ARGS args...] )
fetchcontent_declare( <name> <contentOptions>... [EXCLUDE_FROM_ALL] [SYSTEM] [OVERRIDE_FIND_PACKAGE | FIND_PACKAGE_ARGS args...] )
FetchContent_Declare(
miniaudio
GIT_REPOSITORY ${MINIAUDIO_GIT_REPO}
GIT_TAG ${MINIAUDIO_GIT_HASH}
GIT_SHALLOW TRUE
# it is not necessary to EXCLUDE_FROM_ALL above because miniaudio does not try to force install anything.
)
FetchContent_Declare(
googletest EXCLUDE_FROM_ALL SYSTEM
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG ${KAHYPAR_GOOGLETEST_VERSION}
)
FetchContent_Declare(
dlfcn-win32
GIT_REPOSITORY https://github.com/dlfcn-win32/dlfcn-win32.git
GIT_TAG v1.4.1
EXCLUDE_FROM_ALL)
FetchContent_Declare(
bindline
URL "https://github.com/fredemmott/bindline/archive/refs/tags/v0.1.zip"
URL_HASH "SHA256=765a1a5251d7901a99cc6663fe08cb751c09deca6740ed99b2d964d0af8ccbc6"
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/refs/tags/v${GTEST_VERSION}.zip
EXCLUDE_FROM_ALL # ignored before CMake 3.28
)
FetchContent_Declare(
absl
URL ${VELOX_ABSL_SOURCE_URL}
URL_HASH ${VELOX_ABSL_BUILD_SHA256_CHECKSUM}
OVERRIDE_FIND_PACKAGE
EXCLUDE_FROM_ALL
SYSTEM
PATCH_COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/absl/absl-macos.patch
)
FetchContent_Declare(AppImageUpdate
GIT_REPOSITORY https://github.com/AppImageCommunity/AppImageUpdate.git
GIT_TAG 2.0.0-alpha-1-20241225
EXCLUDE_FROM_ALL
)
FetchContent_Declare(clap
GIT_REPOSITORY https://github.com/free-audio/clap.git
GIT_TAG main
GIT_PROGRESS TRUE
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
sentrynative
${_sentrynative_fetch_download_options}
SOURCE_DIR "${_sentrynative_source_dir}"
PATCH_COMMAND ${CMAKE_COMMAND} "-DSOURCE_DIR=<SOURCE_DIR>" -P "${CMAKE_SOURCE_DIR}/lib/exceptionhandler/3rdparty/sentry/PatchSentryNative.cmake"
EXCLUDE_FROM_ALL # Requires CMake 3.28+
# Intentionally prevent FetchContent_MakeAvailable from adding the subdirectory automatically
# Reference: https://discourse.cmake.org/t/prevent-fetchcontent-makeavailable-to-execute-cmakelists-txt/12704/3
SOURCE_SUBDIR dummy_noexist
)
FetchContent_Declare(
onnx
EXCLUDE_FROM_ALL
GIT_REPOSITORY https://github.com/onnx/onnx.git
GIT_TAG v1.16.1
GIT_SHALLOW ON
GIT_PROGRESS ON
)
FetchContent_Declare(boostorg_${dep} GIT_REPOSITORY https://github.com/boostorg/${dep} GIT_TAG master EXCLUDE_FROM_ALL)
FetchContent_Declare(
rstd
GIT_REPOSITORY https://github.com/hypengw/rstd.git
GIT_TAG dacb8a9e7492c2b6231957c05b8f6fa4152d49cd
GIT_SHALLOW 0
GIT_PROGRESS 1
EXCLUDE_FROM_ALL)
fetchcontent_declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG "${gtest_version}"
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
json
URL https://github.com/nlohmann/json/releases/download/v3.12.0/json.tar.xz
EXCLUDE_FROM_ALL
DOWNLOAD_EXTRACT_TIMESTAMP FALSE
)
FetchContent_Declare(
fmt
GIT_REPOSITORY ${LIBFMT_GIT_REPO}
GIT_TAG ${LIBFMT_PREFERRED_VERSION}
EXCLUDE_FROM_ALL
SYSTEM
)
FetchContent_Declare(
CapnProto
GIT_REPOSITORY https://github.com/capnproto/capnproto.git
GIT_TAG master
EXCLUDE_FROM_ALL
FIND_PACKAGE_ARGS)
FetchContent_Declare(
nowide
URL https://github.com/boostorg/nowide/releases/download/v11.3.0/nowide_standalone_v11.3.0.tar.gz
URL_HASH SHA256=153ac93173c8de9c08e7701e471fa750f84c27e51fe329570c5aa06016591f8c
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
Blingfire
GIT_REPOSITORY https://github.com/microsoft/BlingFire.git
GIT_TAG 0831265c1aca95ca02eca5bf1155e4251e545328
EXCLUDE_FROM_ALL
PATCH_COMMAND git checkout . && git apply --ignore-space-change --ignore-whitespace ${PROJECT_SOURCE_DIR}/cmake/externals/blingfire_cmake.patch)
FetchContent_Declare(fpattern
GIT_REPOSITORY "https://github.com/alexbatalov/fpattern"
GIT_TAG 8523173ec252c3b796fcdfca0fcc6329642fbbe3 # v1.9
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
EXCLUDE_FROM_ALL
)
FetchContent_Declare(PoseLib
GIT_REPOSITORY https://github.com/PoseLib/PoseLib.git
GIT_TAG v2.0.4
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
libuvc
SOURCE_DIR ${THIRD_PARTY_DIRECTORY}/libuvc-0.0.7-custom
# EXCLUDE_FROM_ALL # When we reach cmake 3.28
SYSTEM
)
FetchContent_Declare(
SDL3
GIT_REPOSITORY "https://github.com/Helloyunho/SDL3-uwp.git"
GIT_TAG "main"
EXCLUDE_FROM_ALL
)
FetchContent_Declare(ArgumentParser
GIT_REPOSITORY https://github.com/apple/swift-argument-parser
GIT_TAG 1.5.0
GIT_SHALLOW TRUE
EXCLUDE_FROM_ALL
FIND_PACKAGE_ARGS CONFIG)
FetchContent_Declare(ut
GIT_REPOSITORY
"https://github.com/boost-ext/ut.git"
GIT_TAG
v2.0.1
GIT_SHALLOW
ON
EXCLUDE_FROM_ALL
ON
)
FetchContent_declare(
pcre2
URL ${EXTERNALS_SOURCE_URL}/pcre2-10.46.tar.gz
URL_HASH MD5=38c1d3820b744afbc0565144ef893129
EXCLUDE_FROM_ALL
)