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(
pybind11
GIT_REPOSITORY https://github.com/pybind/pybind11.git
GIT_TAG master)
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(
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(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG main
)
FetchContent_Declare(glow GIT_REPOSITORY https://github.com/jbehley/glow.git)
FetchContent_Declare(
Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.8.0 # or a later release
)
FetchContent_Declare(
pico_sdk
GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk
GIT_TAG master
)
FetchContent_Declare(
tinyusdz_repo
GIT_REPOSITORY "https://github.com/lighttransport/tinyusdz"
GIT_TAG ${TINYUSDZ_GIT_TAG}
PATCH_COMMAND ${TINYUSDZ_PATCH_CMD}
)
FetchContent_Declare(
googletest
# Specify the commit you depend on and update it regularly.
URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
)
FetchContent_Declare(
sdldev
URL https://github.com/libsdl-org/SDL/releases/download/release-2.30.6/SDL2-devel-2.30.6-VC.zip
URL_MD5 54e68b9c4627627107105fa108bf7eed
)
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(GTest
GIT_REPOSITORY
"https://github.com/google/googletest"
GIT_TAG
v1.15.2
GIT_SHALLOW
ON
)
FetchContent_Declare(
gtest
URL https://github.com/google/googletest/archive/main.tar.gz
)
FetchContent_Declare(fetchedamrex
GIT_REPOSITORY ${WarpX_amrex_repo}
GIT_TAG ${WarpX_amrex_branch}
BUILD_IN_SOURCE 0
)
FetchContent_Declare(
lua-vanilla
URL ${LUA_VANILLA_DOWNLOAD_URL})
FetchContent_Declare(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG f8d7d77)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2
GIT_TAG fa43b77429ba76c462b1898d6cd2f2d7a9416b14 # v3.7.1
SYSTEM
FIND_PACKAGE_ARGS 3.1.0
)
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 master
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.16.0
)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
)
FetchContent_Declare(
sfml
URL https://github.com/SFML/SFML/releases/download/2.5.1/SFML-2.5.1-sources.zip
)
FetchContent_Declare(oneTBB
GIT_REPOSITORY https://github.com/oneapi-src/oneTBB.git
GIT_TAG v2021.5.0)
FetchContent_Declare(
cccl
GIT_REPOSITORY https://github.com/NVIDIA/cccl.git
GIT_TAG main
)
FetchContent_Declare(
googletest EXCLUDE_FROM_ALL SYSTEM
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG ${KAHYPAR_GOOGLETEST_VERSION}
)
FetchContent_Declare (
CmDaB
GIT_REPOSITORY https://github.com/Vollstrecker/CmDaB.git
GIT_TAG main
)
FetchContent_Declare(
adbLite
GIT_REPOSITORY https://github.com/hguandl/adb-lite.git
GIT_TAG v0.1.0
)
FetchContent_Declare(${PACKAGE} ${ARGN})
FetchContent_Declare(
cv2pdb
URL "https://github.com/rainers/cv2pdb/releases/download/v0.52/cv2pdb-0.52.zip"
DOWNLOAD_EXTRACT_TIMESTAMP ON
)
FetchContent_Declare(tbb
URL ${CASPARCG_DOWNLOAD_MIRROR}/tbb/oneapi-tbb-2021.1.1-win.zip
URL_HASH MD5=51bf49044d477dea67670abd92f8814c
DOWNLOAD_DIR ${CASPARCG_DOWNLOAD_CACHE}
)
FetchContent_Declare(
gpds
GIT_REPOSITORY https://github.com/simulton/gpds
GIT_TAG ${QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD_VERSION}
)
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(
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(
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(
nanoarrow_content
SOURCE_DIR ${ClickHouse_SOURCE_DIR}/contrib/arrow-nanoarrow)
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(
imgui
GIT_REPOSITORY https://github.com/ocornut/imgui
GIT_TAG ${OSPRAY_IMGUI_GIT_TAG}
# `patch` is not available on all systems, so use `git apply` instead.
# The patch command first resets the repository to a clean state. That
# is because CMake wants to apply the patch again when CMake needs to
# reconfigure, which fails.
PATCH_COMMAND git reset --hard && git apply -v -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/imgui.patch
)
FetchContent_Declare(rapids-cmake SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rapids-cmake")
FetchContent_Declare(
googlebench
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG 0ce66c00f5e41ba7480e3ad6b6673d5b94abf412
)
FetchContent_Declare(
gamemath_git
GIT_REPOSITORY https://github.com/TheAssemblyArmada/GameMath.git
GIT_TAG 59f7ccd494f7e7c916a784ac26ef266f9f09d78d
)
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(
onnxruntime
URL ${Onnxruntime_URL}
URL_HASH ${Onnxruntime_HASH})
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(googlebenchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG v1.5.2)
FetchContent_Declare (
seqan3
URL "${SEQAN3_PACKAGE_ZIP_URL}" # change these values
URL_HASH "SHA256=${SEQAN3_PACKAGE_ZIP_HASH}" # change these values
)
FetchContent_Declare(
eigen
GIT_REPOSITORY "${PYBIND11_EIGEN_REPO}"
GIT_TAG "${PYBIND11_EIGEN_VERSION_HASH}")
FetchContent_Declare(${PACKAGE} ${ARGN})
FetchContent_Declare(
OTIO
GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/OpenTimelineIO.git
GIT_TAG v0.17.0)
FetchContent_Declare(
slang
GIT_REPOSITORY https://github.com/MikePopoloski/slang.git
GIT_TAG dd16a7947e0586d0541477f1b4b60eda7c986e35
# Shallow check-out doesn't work if the tag is ref spec is far from HEAD.
# GIT_SHALLOW ON
)
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(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG main)
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(
pybind11
GIT_REPOSITORY https://github.com/pybind/pybind11.git
GIT_TAG v3.0.1
GIT_SHALLOW ON
${find_pkg_args})
FetchContent_Declare(
nanobind
GIT_REPOSITORY https://github.com/wjakob/nanobind.git
GIT_TAG cc860b2b771a0003ce70415fc56ea18f61b0a153 # v2.9.0
)
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(pmc
GIT_REPOSITORY https://github.com/jingnanshi/pmc.git
)
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(
sdl2_content
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
URL https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.30.11.tar.gz
URL_HASH SHA1=db4ae1d7a477854d44a468f19661794b59721267
)
FetchContent_Declare(
Heap-Layers
GIT_REPOSITORY https://github.com/emeryberger/Heap-Layers.git
GIT_TAG master
)
FetchContent_Declare(
UGit
GIT_REPOSITORY https://github.com/Ubpa/UGit
GIT_TAG feed9ab
)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG main # Live at head
)
FetchContent_Declare(nlohmann_json
URL "https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz"
OVERRIDE_FIND_PACKAGE
)
FetchContent_Declare(benchmark GIT_REPOSITORY https://github.com/google/benchmark.git GIT_TAG v1.9.0)
FetchContent_Declare(
libelfin
SYSTEM
GIT_REPOSITORY https://github.com/mortbopet/libelfin.git
GIT_TAG 93a424940dc6e721818c5634b1876c8800e3f980
)
FetchContent_Declare(
VTIL-NativeLifters
GIT_REPOSITORY https://github.com/vtil-project/VTIL-NativeLifters
GIT_TAG 39e9da9966790d9e117de6af927ef9abb7e7519e
GIT_SHALLOW false
)
FetchContent_Declare(
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.5.1 # Optionally specify a commit hash, version tag or branch here
)
FetchContent_Declare(
visr
GIT_REPOSITORY https://github.com/ebu/bear.git
GIT_TAG visr
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/visr"
)
FetchContent_Declare(${dep}
URL ${DEPS_FETCH_PROXY}${url}
URL_HASH ${hash}
)
FetchContent_Declare(absl
URL https://github.com/abseil/abseil-cpp/releases/download/20250814.0/abseil-cpp-20250814.0.tar.gz
URL_HASH SHA256=9b2b72d4e8367c0b843fa2bcfa2b08debbe3cee34f7aaa27de55a6cbb3e843db
)
FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz)
FetchContent_Declare(indicators
URL https://github.com/p-ranav/indicators/archive/refs/tags/v2.3.tar.gz
URL_HASH SHA256=70da7a693ff7a6a283850ab6d62acf628eea17d386488af8918576d0760aef7b)
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(
openstudio-coalition-measures
GIT_REPOSITORY https://github.com/openstudiocoalition/openstudio-coalition-measures.git
GIT_TAG da6832b3eec8e3ecccaadd39142e7c3d9c2da10f # release-1.8.0
)
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(
qpdf
GIT_REPOSITORY https://github.com/qpdf/qpdf.git
GIT_TAG release-qpdf-10.0.4)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.8.1 # or a later release
)
FetchContent_Declare(
freetype
GIT_REPOSITORY https://github.com/freetype/freetype.git
GIT_TAG VER-2-13-3
GIT_PROGRESS TRUE
)
FetchContent_Declare(
QArchive
GIT_REPOSITORY https://github.com/antony-jr/QArchive.git
GIT_TAG e587f30507c0e6d92f79a2dc1a6aa7ebb1f8e679
# Workaround because: 1. QtCreator cannot handle QML_ELEMENT stuff when it is in bin folder
# https://bugreports.qt.io/browse/QTCREATORBUG-27083
SOURCE_DIR ${THIRD_PARTY_PATH}/QArchive)
FetchContent_Declare(CURL GIT_REPOSITORY https://github.com/curl/curl.git)