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(
googletest
URL
https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
)
FetchContent_Declare(
libdb
GIT_REPOSITORY https://github.com/berkeleydb/libdb.git
GIT_TAG master
GIT_PROGRESS 1
)
FetchContent_Declare(
tinyusdz_repo
GIT_REPOSITORY "https://github.com/lighttransport/tinyusdz"
GIT_TAG ${TINYUSDZ_GIT_TAG}
PATCH_COMMAND ${TINYUSDZ_PATCH_CMD}
)
FetchContent_Declare(${name}
${ARGN}
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/${name}"
TMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/tmp"
STAMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/stamp"
DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/dl"
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/src"
SUBBUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/build"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/bin"
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/inst"
LOG_DIR "${CMAKE_CURRENT_BINARY_DIR}/${name}/log"
)
FetchContent_Declare(
eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen
GIT_TAG 3.4.0
)
FetchContent_Declare(
lua
GIT_REPOSITORY "https://github.com/marovira/lua"
GIT_TAG 5.4.4
)
FetchContent_Declare(
${name}
GIT_REPOSITORY ${git_url}
GIT_TAG ${git_tag}
SOURCE_DIR ${Deps_Source_Dir}
BINARY_DIR ${Deps_Build_Dir}
SUBBUILD_DIR ${Deps_SubBuild_Dir}
)
FetchContent_Declare(
RGA
URL https://github.com/GPUOpen-Tools/radeon_gpu_analyzer/releases/download/2.6.2/rga-windows-x64-2.6.2.zip
URL_HASH SHA256=35247f29bc81cd86e935b29af26a72cb5f762d4faba2b6aad404f661e639faee
)
FetchContent_Declare(fmt
URL https://github.com/fmtlib/fmt/archive/refs/tags/11.1.4.zip
URL_MD5 90667b07f34d91554cf8285ae234ff66
)
FetchContent_Declare(
eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_TAG ${LIBIGL_EIGEN_VERSION}
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_Declare(
eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_TAG ${LIBIGL_EIGEN_VERSION}
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_Declare(glow GIT_REPOSITORY https://github.com/jbehley/glow.git)
FetchContent_Declare(
extern_googlebenchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG v1.5.0
)
FetchContent_Declare(
Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.8.0 # or a later release
)
FetchContent_Declare(
tinyusdz_repo
GIT_REPOSITORY "https://github.com/lighttransport/tinyusdz"
GIT_TAG ${TINYUSDZ_GIT_TAG}
PATCH_COMMAND ${TINYUSDZ_PATCH_CMD}
)
FetchContent_Declare(
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.4.4 # Necessary for offline builds
)
FetchContent_Declare(
googlebenchmark
DOWNLOAD_EXTRACT_TIMESTAMP FALSE
URL https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz
URL_HASH MD5=0459a6c530df9851bee6504c3e37c2e7
)
FetchContent_Declare(
mdspan
GIT_REPOSITORY https://github.com/kokkos/mdspan.git
GIT_TAG 973ef6415a6396e5f0a55cb4c99afd1d1d541681
)
FetchContent_Declare(depot_tools
GIT_REPOSITORY https://chromium.googlesource.com/chromium/tools/depot_tools.git
GIT_TAG main
GIT_PROGRESS TRUE
GIT_SHALLOW TRUE)
FetchContent_Declare("jrl-cmakemodules"
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git")
FetchContent_Declare(eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_TAG ${EIGEN_VERSION}
GIT_SHALLOW ON)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.16.0
)
FetchContent_Declare(
sfml
URL https://github.com/SFML/SFML/releases/download/2.5.1/SFML-2.5.1-sources.zip
)
FetchContent_Declare(
googletest EXCLUDE_FROM_ALL SYSTEM
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG ${KAHYPAR_GOOGLETEST_VERSION}
)
FetchContent_Declare(
adbLite
GIT_REPOSITORY https://github.com/hguandl/adb-lite.git
GIT_TAG v0.1.0
)
FetchContent_Declare(${PACKAGE} ${ARGN})
FetchContent_Declare(
glfw
GIT_REPOSITORY https://github.com/glfw/glfw.git
GIT_TAG 3.4
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_Declare(
cv2pdb
URL "https://github.com/rainers/cv2pdb/releases/download/v0.52/cv2pdb-0.52.zip"
DOWNLOAD_EXTRACT_TIMESTAMP ON
)
FetchContent_Declare(
fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG 11.1.2
)
FetchContent_Declare(fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG f19b1a521ee8b606dedcadfda69fd10ddf882753 # 7.0.1
GIT_SHALLOW ON
)
FetchContent_Declare(metal_cpp URL ${METAL_CPP_URL})
FetchContent_Declare(
libmarias3
GIT_REPOSITORY ${LIBMARIAS3_REPO}
GIT_TAG "master"
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/libmarias3
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
PATCH_COMMAND ""
# We need a config.h in the source directory. This is usually (?) created by the autotools invocation and
# previously it got included from _somewhere_. The file is not really needed and an empty files seems to
# work.
UPDATE_COMMAND touch -a ${CMAKE_CURRENT_BINARY_DIR}/libmarias3/src/config.h
)
FetchContent_Declare(
node-api-headers
URL https://github.com/nodejs/node-api-headers/archive/refs/tags/v1.1.0.tar.gz
URL_HASH SHA256=70608bc1e6dddce280285f3462f18a106f687c0720a4b90893e1ecd86e5a8bbf
)
FetchContent_Declare(
zstd
SOURCE_SUBDIR build/cmake
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
URL "${CPPTRACE_ZSTD_URL}"
)
FetchContent_Declare(Qt5
URL "https://github.com/x64dbg/deps/releases/download/2025.07.02/qt5.12.12-msvc2017_64.7z"
URL_HASH SHA256=770490bf09514982c8192ebde9a1fac8821108ba42b021f167bac54e85ada48a
)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v2.13.7)
FetchContent_Declare(
absl
GIT_REPOSITORY https://github.com/abseil/abseil-cpp
GIT_TAG ${GNSSSDR_ABSL_LOCAL_VERSION}
SOURCE_DIR ${GNSSSDR_BINARY_DIR}/thirdparty/abseil-cpp
CMAKE_ARGS -DABSL_PROPAGATE_CXX_STD=ON -ABSL_BUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/abseil-cpp ${ABSEIL_TOOLCHAIN_FILE}
BINARY_DIR ${GNSSSDR_BINARY_DIR}/abseil-cpp
BUILD_COMMAND ${ABSEIL_BUILD_COMMAND}
OVERRIDE_FIND_PACKAGE # Requires CMake 3.24
)
FetchContent_Declare(${pkgname}
GIT_REPOSITORY ${pkgrepository}
GIT_SHALLOW TRUE
GIT_TAG ${pkgreference}
SOURCE_DIR ${pkgname}-src
)
FetchContent_Declare(
bindline
URL "https://github.com/fredemmott/bindline/archive/refs/tags/v0.1.zip"
URL_HASH "SHA256=765a1a5251d7901a99cc6663fe08cb751c09deca6740ed99b2d964d0af8ccbc6"
EXCLUDE_FROM_ALL
)
FetchContent_Declare(cryptopp
URL https://github.com/weidai11/cryptopp/releases/download/CRYPTOPP_8_7_0/cryptopp870.zip
URL_HASH SHA256=d0d3a28fcb5a1f6ed66b3adf57ecfaed234a7e194e42be465c2ba70c744538dd
DOWNLOAD_EXTRACT_TIMESTAMP ON
)
FetchContent_Declare(rapids-cmake SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rapids-cmake")
FetchContent_Declare(
analyzersdk
GIT_REPOSITORY https://github.com/saleae/AnalyzerSDK.git
GIT_TAG master
GIT_SHALLOW True
GIT_PROGRESS True
)
FetchContent_Declare(Tracy
GIT_REPOSITORY https://github.com/wolfpld/tracy
GIT_TAG v0.11.1
)
FetchContent_Declare(
eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_TAG ${EIGEN3_VERSION_STRING})
FetchContent_Declare(
gamemath_git
GIT_REPOSITORY https://github.com/TheAssemblyArmada/GameMath.git
GIT_TAG 59f7ccd494f7e7c916a784ac26ef266f9f09d78d
)
FetchContent_Declare(
rapidjson
GIT_REPOSITORY https://github.com/Tencent/rapidjson.git
GIT_TAG "origin/master"
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE)
FetchContent_Declare(
nvimgcodec_headers
URL https://developer.download.nvidia.com/compute/nvimgcodec/redist/nvimgcodec/linux-x86_64/nvimgcodec-linux-x86_64-0.6.0.32-archive.tar.xz
URL_HASH SHA512=a7c894d38c78fd6fb4e460c5aebabaf90af20462faf84dcbaa310ca4842638cccd8d9628cafda1a970f865afe44815d718f65fe12f6c84160b8cd2d8485e81ca
)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.1.1 # or a later release
)
FetchContent_Declare( arduino GIT_REPOSITORY https://github.com/pschatzmann/pico-arduino.git GIT_TAG main)
FetchContent_Declare(bullet
URL https://github.com/bulletphysics/bullet3/archive/refs/tags/3.17.tar.gz
URL_HASH SHA512=a5105bf5f1dd365a64a350755c7d2c97942f74897a18dcdb3651e6732fd55cc1030a096f5808cf50575281f05e3ac09aa50a48d271a47b94cd61f5167a72b7cc
SOURCE_DIR fetched/bullet
)
FetchContent_Declare( boost ${BOOST_FETCHCONTENT_SOURCE} )
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
GIT_TAG v1.14.0
)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.10.0
)
FetchContent_Declare(
eigen
GIT_REPOSITORY "${PYBIND11_EIGEN_REPO}"
GIT_TAG "${PYBIND11_EIGEN_VERSION_HASH}")
FetchContent_Declare(${PACKAGE} ${ARGN})
FetchContent_Declare(poselib
URL https://github.com/PoseLib/PoseLib/archive/f119951fca625133112acde48daffa5f20eba451.zip
URL_HASH SHA256=3faa27d9d1f6ae7cc47602a66c10ac6f64457bc65a959d1880947d3b3bfe1ed1
${_fetch_content_declare_args}
)
FetchContent_Declare(spdlog
GIT_REPOSITORY "https://github.com/gabime/spdlog"
GIT_TAG "v1.8.0"
GIT_SHALLOW 1)
FetchContent_Declare(
ogt
GIT_REPOSITORY https://github.com/jpaver/opengametools.git
GIT_TAG master)
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(
freertos_kernel
URL https://github.com/FreeRTOS/FreeRTOS-Kernel/archive/refs/tags/V11.1.0.tar.gz
URL_HASH SHA256=0e21928b3bcc4f9bcaf7333fb1c8c0299d97e2ec9e13e3faa2c5a7ac8a3bc573
)
fetchcontent_declare(
apex
GIT_REPOSITORY ${HPX_WITH_APEX_REPOSITORY}
GIT_TAG ${HPX_WITH_APEX_TAG}
)
FetchContent_Declare(tracy
GIT_REPOSITORY https://github.com/wolfpld/tracy.git
GIT_TAG v0.11.1
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_Declare(
googletest
GIT_REPOSITORY "https://github.com/google/googletest.git"
GIT_TAG "v1.17.0"
GIT_SHALLOW TRUE #copy version and not git history
)
FetchContent_Declare(
eigen
GIT_REPOSITORY "${PYBIND11_EIGEN_REPO}"
GIT_TAG "${PYBIND11_EIGEN_VERSION_HASH}")
FetchContent_Declare(
AdaptiveCpp
GIT_REPOSITORY https://github.com/root-project/AdaptiveCpp.git
GIT_TAG ROOT-acpp-v25.02.0-20250615-01)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/HEAD.zip
)
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(
json
URL https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip
URL_HASH "SHA256=87b5884741427220d3a33df1363ae0e8b898099fbc59f1c451113f6732891014")
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.11.0
GIT_SHALLOW ON
)
FetchContent_Declare(pybind11 URL ${PYBIND11_URL} URL_HASH MD5=${PYBIND11_URL_HASH})
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG main # Live at head
)
FetchContent_Declare(benchmark GIT_REPOSITORY https://github.com/google/benchmark.git GIT_TAG v1.9.0)
FetchContent_Declare( rtmidi_src
GIT_REPOSITORY https://github.com/thestk/rtmidi.git
GIT_TAG 4.0.0
)
FetchContent_Declare(
libelfin
SYSTEM
GIT_REPOSITORY https://github.com/mortbopet/libelfin.git
GIT_TAG 93a424940dc6e721818c5634b1876c8800e3f980
)
FetchContent_Declare(cjson-static
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cjson"
)
FetchContent_Declare(googlebenchmark GIT_REPOSITORY https://github.com/google/benchmark.git GIT_TAG v1.5.2)
FetchContent_Declare(
visr
GIT_REPOSITORY https://github.com/ebu/bear.git
GIT_TAG visr
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/visr"
)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v2.13.1)
FetchContent_Declare(
AGS_SDK
GIT_REPOSITORY ${AGS_SDK_GIT}
GIT_TAG ${AGS_SDK_COMMIT}
SOURCE_DIR ${AGS_SDK_DIR}
)
FetchContent_Declare(
googletest
DOWNLOAD_EXTRACT_TIMESTAMP ON
URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
URL_HASH SHA1=0ac421f2ec11af38b0fff0f1992184032731a8bc
)
FetchContent_Declare(
fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG master
)
FetchContent_Declare(googletest
GIT_REPOSITORY ${SDBUSCPP_GOOGLETEST_GIT_REPO}
GIT_TAG ${GOOGLETEST_TAG}
GIT_SHALLOW 1
UPDATE_COMMAND "")
FetchContent_Declare ( ${NAME} URL "${URL}" URL_MD5 ${MD5} )
FetchContent_Declare(
DetourFetch
URL https://github.com/microsoft/Detours/zipball/4b8c659
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Detour
)
FetchContent_Declare(
ut
GIT_REPOSITORY https://github.com/openalgz/ut
GIT_TAG v1.0.0
GIT_SHALLOW TRUE
)
FetchContent_Declare(json
GIT_REPOSITORY https://github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent
GIT_TAG v3.10.2)
FetchContent_Declare(
openstudio-coalition-measures
GIT_REPOSITORY https://github.com/openstudiocoalition/openstudio-coalition-measures.git
GIT_TAG da6832b3eec8e3ecccaadd39142e7c3d9c2da10f # release-1.8.0
)
FetchContent_Declare(doctest GIT_REPOSITORY https://github.com/doctest/doctest.git GIT_TAG dev GIT_PROGRESS TRUE CMAKE_ARGS DOCTEST_NO_INSTALL=TRUE)
FetchContent_Declare(AppImageUpdate
GIT_REPOSITORY https://github.com/AppImageCommunity/AppImageUpdate.git
GIT_TAG 2.0.0-alpha-1-20241225
EXCLUDE_FROM_ALL
)
FetchContent_Declare(${dep}
URL ${DEPS_FETCH_PROXY}${url}
URL_HASH ${hash}
)
FetchContent_Declare(
benchmark
URL "https://github.com/google/benchmark/archive/refs/tags/v${BENCHMARK_VERSION}.${_BENCHMARK_ARCHIVE_EXT}"
)
FetchContent_Declare(${FETCH_SOURCE_NAME}
URL ${FETCH_SOURCE_URL}
)
FetchContent_Declare(
concurrentqueue
GIT_REPOSITORY https://github.com/cameron314/concurrentqueue.git
GIT_TAG v1.0.4
)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.8.1 # or a later release
)
FetchContent_Declare(
Catch2
URL ${catch2_source_url}
URL_HASH MD5=${catch2_checksum}
SOURCE_DIR "${external_dir}/catch2"
BINARY_DIR "${PROJECT_BINARY_DIR}/external/catch2"
INSTALL_DIR "${PROJECT_BINARY_DIR}/external"
)
FetchContent_Declare(
fftw3
URL http://fftw.org/fftw-3.3.10.tar.gz
URL_HASH MD5=8ccbf6a5ea78a16dbc3e1306e234cc5c)
FetchContent_Declare(
clone_strings
GIT_REPOSITORY https://github.com/aseprite/strings.git
GIT_TAG origin/main
SOURCE_DIR ${DATA_OUTPUT_DIR}/strings.git
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND "")
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/refs/tags/v1.13.0.zip
)
FetchContent_Declare(
discord-rpc
GIT_REPOSITORY https://github.com/discord/discord-rpc.git
GIT_TAG 963aa9f3e5ce81a4682c6ca3d136cddda614db33
GIT_PROGRESS TRUE
)
FetchContent_Declare(
tacent
GIT_REPOSITORY https://github.com/bluescan/tacent.git
# GIT_TAG 87560bf127fa5d01cd0f62e151d103235fdcfc2d
# GIT_TAG v0.8.18
FIND_PACKAGE_ARGS NAMES tacent
)