cmake fetchcontent_declare examples

Signatures

fetchcontent_declare(
  <name>
  <contentOptions>...
  [EXCLUDE_FROM_ALL]
  [SYSTEM]
  [OVERRIDE_FIND_PACKAGE |
  FIND_PACKAGE_ARGS args...]
)

Examples

o3de/o3de Gems/MiniAudio/3rdParty/Findminiaudio.cmake :33

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

kahypar/mt-kahypar CMakeLists.txt :388

FetchContent_Declare(
    googletest EXCLUDE_FROM_ALL SYSTEM
    GIT_REPOSITORY https://github.com/google/googletest.git
    GIT_TAG        ${KAHYPAR_GOOGLETEST_VERSION}
  )

ml-explore/mlx CMakeLists.txt :157

FetchContent_Declare(
    dlfcn-win32
    GIT_REPOSITORY https://github.com/dlfcn-win32/dlfcn-win32.git
    GIT_TAG v1.4.1
    EXCLUDE_FROM_ALL)

OpenKneeboard/OpenKneeboard third-party/bindline.cmake :7

FetchContent_Declare(
    bindline
    URL "https://github.com/fredemmott/bindline/archive/refs/tags/v0.1.zip"
    URL_HASH "SHA256=765a1a5251d7901a99cc6663fe08cb751c09deca6740ed99b2d964d0af8ccbc6"
    EXCLUDE_FROM_ALL
)

OSGeo/PROJ test/unit/CMakeLists.txt :66

FetchContent_Declare(
    googletest
    URL https://github.com/google/googletest/archive/refs/tags/v${GTEST_VERSION}.zip
    EXCLUDE_FROM_ALL  # ignored before CMake 3.28
  )

facebookincubator/velox CMake/resolve_dependency_modules/absl.cmake :32

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
)

TheAssassin/AppImageLauncher CMakeLists.txt :42

FetchContent_Declare(AppImageUpdate
    GIT_REPOSITORY https://github.com/AppImageCommunity/AppImageUpdate.git
    GIT_TAG 2.0.0-alpha-1-20241225
    EXCLUDE_FROM_ALL
)

anira-project/anira examples/clap-audio-plugin/CMakeLists.txt :13

FetchContent_Declare(clap
        GIT_REPOSITORY https://github.com/free-audio/clap.git
        GIT_TAG main
        GIT_PROGRESS TRUE
        EXCLUDE_FROM_ALL
)

Warzone2100/warzone2100 cmake/FetchSentryNative.cmake :62

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
)

llvm/torch-mlir projects/onnx_c_importer/CMakeLists.txt :7

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
)

Jackarain/proxy third_party/boost/libs/hash2/CMakeLists.txt :89

FetchContent_Declare(boostorg_${dep} GIT_REPOSITORY https://github.com/boostorg/${dep} GIT_TAG master EXCLUDE_FROM_ALL)

hypengw/Qcm third_party/CMakeLists.txt :8

FetchContent_Declare(
    rstd
    GIT_REPOSITORY https://github.com/hypengw/rstd.git
    GIT_TAG dacb8a9e7492c2b6231957c05b8f6fa4152d49cd
    GIT_SHALLOW 0
    GIT_PROGRESS 1
    EXCLUDE_FROM_ALL)

mantidproject/mantid buildconfig/CMake/GoogleTest.cmake :17

fetchcontent_declare(
  googletest
  GIT_REPOSITORY https://github.com/google/googletest.git
  GIT_TAG "${gtest_version}"
  EXCLUDE_FROM_ALL
)

ericwa/ericw-tools 3rdparty/CMakeLists.txt :18

FetchContent_Declare(
        json
        URL https://github.com/nlohmann/json/releases/download/v3.12.0/json.tar.xz
        EXCLUDE_FROM_ALL
        DOWNLOAD_EXTRACT_TIMESTAMP FALSE
)

mhx/dwarfs cmake/need_fmt.cmake :24

FetchContent_Declare(
    fmt
    GIT_REPOSITORY ${LIBFMT_GIT_REPO}
    GIT_TAG ${LIBFMT_PREFERRED_VERSION}
    EXCLUDE_FROM_ALL
    SYSTEM
  )

bdon/OSMExpress CMakeLists.txt :22

FetchContent_Declare(
    CapnProto
    GIT_REPOSITORY https://github.com/capnproto/capnproto.git
    GIT_TAG master
    EXCLUDE_FROM_ALL
    FIND_PACKAGE_ARGS)

AxioDL/metaforce extern/CMakeLists.txt :18

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
  )

microsoft/onnxruntime-extensions cmake/externals/blingfire.cmake :1

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)

alexbatalov/fallout2-ce third_party/fpattern/CMakeLists.txt :3

FetchContent_Declare(fpattern
    GIT_REPOSITORY "https://github.com/alexbatalov/fpattern"
    GIT_TAG 8523173ec252c3b796fcdfca0fcc6329642fbbe3 # v1.9
    GIT_SHALLOW TRUE
    GIT_PROGRESS TRUE
    EXCLUDE_FROM_ALL
)

MarkYu98/madpose CMakeLists.txt :26

FetchContent_Declare(PoseLib
    GIT_REPOSITORY    https://github.com/PoseLib/PoseLib.git
    GIT_TAG           v2.0.4
    EXCLUDE_FROM_ALL
)

IntelRealSense/RealSenseID cmake/libuvc.cmake :21

FetchContent_Declare(
        libuvc
        SOURCE_DIR ${THIRD_PARTY_DIRECTORY}/libuvc-0.0.7-custom
        # EXCLUDE_FROM_ALL # When we reach cmake 3.28
        SYSTEM
)

isledecomp/isle-portable CMakeLists.txt :82

FetchContent_Declare(
        SDL3
        GIT_REPOSITORY "https://github.com/Helloyunho/SDL3-uwp.git"
        GIT_TAG "main"
        EXCLUDE_FROM_ALL
      )

swiftlang/swift tools/swift-inspect/CMakeLists.txt :17

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)

cursey/safetyhook CMakeLists.txt :41

FetchContent_Declare(ut
		GIT_REPOSITORY
			"https://github.com/boost-ext/ut.git"
		GIT_TAG
			v2.0.1
		GIT_SHALLOW
			ON
		EXCLUDE_FROM_ALL
			ON
	)

htcondor/htcondor externals/bundles/pcre2/10.46/CMakeLists.txt :33

FetchContent_declare(
			pcre2
			URL ${EXTERNALS_SOURCE_URL}/pcre2-10.46.tar.gz
			URL_HASH MD5=38c1d3820b744afbc0565144ef893129
			EXCLUDE_FROM_ALL
			)