cmake file examples

Signatures

file(READ <filename> <out-var> [...])
file(STRINGS <filename> <out-var> [...])
file(<HASH> <filename> <out-var>)
file(TIMESTAMP <filename> <out-var> [...])
file(GET_RUNTIME_DEPENDENCIES [...])
file({WRITE | APPEND} <filename> <content>...)
file({TOUCH | TOUCH_NOCREATE} <file>...)
file(GENERATE OUTPUT <output-file> [...])
file(CONFIGURE OUTPUT <output-file> CONTENT <content> [...])
file({GLOB | GLOB_RECURSE} <out-var> [...] <globbing-expr>...)
file(MAKE_DIRECTORY <directories>...)
file({REMOVE | REMOVE_RECURSE } <files>...)
file(RENAME <oldname> <newname> [...])
file(COPY_FILE <oldname> <newname> [...])
file({COPY | INSTALL} <file>... DESTINATION <dir> [...])
file(SIZE <filename> <out-var>)
file(READ_SYMLINK <linkname> <out-var>)
file(CREATE_LINK <original> <linkname> [...])
file(CHMOD <files>... <directories>... PERMISSIONS <permissions>... [...])
file(CHMOD_RECURSE <files>... <directories>... PERMISSIONS <permissions>... [...])
file(REAL_PATH <path> <out-var> [BASE_DIRECTORY <dir>] [EXPAND_TILDE])
file(RELATIVE_PATH <out-var> <directory> <file>)
file({TO_CMAKE_PATH | TO_NATIVE_PATH} <path> <out-var>)
file(DOWNLOAD <url> [<file>] [...])
file(UPLOAD <file> <url> [...])
file(LOCK <path> [...])
file(ARCHIVE_CREATE OUTPUT <archive> PATHS <paths>... [...])
file(ARCHIVE_EXTRACT INPUT <archive> [...])

Examples

IFL-CAMP/supra CMakeLists.txt :115

file(DOWNLOAD
			"https://f000.backblazeb2.com/file/supra-sample-data/SUPRA_3D_sampleData.zip"
			"${PROJECT_BINARY_DIR}/data/SUPRA_3D_sampleData.zip"
			SHOW_PROGRESS
		)

NREL/OpenStudio CMakeLists.txt :1217

file(DOWNLOAD "http://openstudio-resources.s3.amazonaws.com/dependencies/7za.zip" "${PROJECT_BINARY_DIR}/7za.zip" TIMEOUT 120 INACTIVITY_TIMEOUT 120 EXPECTED_MD5 860077d3f314e939abab680218a3febe)

ZigRazor/CXXGraph CMakeLists.txt :47

file(DOWNLOAD
    	https://github.com/cpm-cmake/CPM.cmake/releases/latest/download/CPM.cmake
    	${CPM_DOWNLOAD_LOCATION}
	)

Kitware/kwiver .gitlab/ci/download_fletch.cmake :32

file(DOWNLOAD
  "https://gitlab.kitware.com/api/v4/projects/6955/packages/generic/fletch-kwiver/${fletch_version}/fletch-kwiver-${fletch_commit}-${fletch_platform}.${fletch_ext}"
  ".gitlab/fletch.${fletch_ext}"
  STATUS download_status
  EXPECTED_HASH "SHA256=${fletch_checksum}")

lizardfs/lizardfs cmake/DownloadExternal.cmake :9

file(DOWNLOAD
          ${PCKG_URL}
          ${CMAKE_BINARY_DIR}/${PCKG_DIR_NAME}.zip
          INACTIVITY_TIMEOUT 15
          SHOW_PROGRESS
          STATUS DOWNLOAD_STATUS
          EXPECTED_MD5 ${ARGV3})

codilime/veles cmake/msgpack.cmake :7

file(DOWNLOAD ${MSGPACK_URL} ${MSGPACK_PATH} EXPECTED_HASH SHA256=${MSGPACK_SHA256})

AcademySoftwareFoundation/openvdb cmake/CPM.cmake :19

file(DOWNLOAD
     https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
     ${CPM_DOWNLOAD_LOCATION} EXPECTED_HASH SHA256=${CPM_HASH_SUM}
)

Slicer/Slicer CMake/ExternalProjectGenerateProjectDescription.cmake :105

file(WRITE "${script}"
"# version
set(extract_git_version \"${extract_git_version}\")
set(license_files ${_epgpd_LICENSE_FILES})
set(explicit_licenses ${explicit_licenses})
set(BINARY_DIR \"${CMAKE_BINARY_DIR}\")
set(SOURCE_DIR \"${SOURCE_DIR}\")
if(\${extract_git_version})
  execute_process(
    COMMAND \"${GIT_EXECUTABLE}\" describe --always
    OUTPUT_VARIABLE output
    WORKING_DIRECTORY \${SOURCE_DIR}
    )
  file(WRITE \"\${BINARY_DIR}/${generated_version_file}\" \"${name} \${output}\")
endif()

# license
file(REMOVE \"\${BINARY_DIR}/${generated_license_file}\")

set(license_found 0)
foreach(license_file IN LISTS license_files)
  if(IS_ABSOLUTE \${license_file})
    set(filepath \${license_file})
    get_filename_component(license_file \${license_file} NAME)
  else()
    set(filepath \${SOURCE_DIR}/\${license_file})
  endif()
  if(license_file MATCHES \"^http\")
    set(filepath \${BINARY_DIR}/CMakeFiles/download-license)
    file(DOWNLOAD \${license_file} \${filepath})
  endif()
  if(EXISTS \${filepath})
    file(READ \${filepath} license_content)
    file(APPEND \"\${BINARY_DIR}/${generated_license_file}\"
\"#------------------------------------------------------------------------------
# \${license_file}
#------------------------------------------------------------------------------
\${license_content}

\")
    set(license_found 1)
    if(NOT explicit_licenses AND license_found)
      break()
    endif()
  endif()
endforeach()

if(NOT license_found AND EXISTS \${SOURCE_DIR}/setup.py)
  # Extract string of the form 'License [:: <text> [...]]:: <license_name>'
  set(license_name )
  file(STRINGS \${SOURCE_DIR}/setup.py content REGEX \"License :: (.*)\" LIMIT_COUNT 1)
  if(content)
    string(STRIP \${content} content)
    # Extract <license_name>
    string(REGEX MATCH \".+:: (.+)$\" _match \${content})
    set(license_name \${CMAKE_MATCH_1})
    string(REGEX REPLACE \"[\\\",']\" \"\" license_name \${license_name})
  endif()
  if(NOT license_name)
    message(AUTHOR_WARNING \"${name}: Failed to extract license information from '\${SOURCE_DIR}/setup.py'\")
    return()
  endif()
  set(content \"${projectname} is distributed under the terms of \${license_name}\")
  file(APPEND \"\${BINARY_DIR}/${generated_license_file}\" \"\${content}
\")
  set(license_found 1)
endif()

if(NOT license_found)
  message(AUTHOR_WARNING \"${name}: Could not find a license file\")
endif()
")

anira-project/anira cmake/SetupOnnxRuntime.cmake :46

file(DOWNLOAD ${LIBONNXRUNTIME_URL} ${LIBONNXRUNTIME_PATH} STATUS LIBONNXRUNTIME_DOWNLOAD_STATUS SHOW_PROGRESS)

Musicoll/Kiwi CMake/ConfigFlip.cmake :101

file(DOWNLOAD ${FLIP_PKG_PATH} "${KIWI_DEPENDENCIES_DIR}/${FLIP_PKG_FILE}")

Dreamtowards/Ethertia lib/glfw-3.3.8/CMake/GenerateMappings.cmake :13

file(DOWNLOAD "${source_url}" "${source_path}"
     STATUS download_status
     TLS_VERIFY on)

bytedance/terarkdb java/CMakeLists.txt :328

file(DOWNLOAD ${SEARCH_REPO_URL}junit/junit/4.12/junit-4.12.jar ${JAVA_TMP_JAR} STATUS downloadStatus)

ImJimmi/JIVE runners/demo-runner/cmake/pluginval.cmake :4

file(DOWNLOAD
         https://raw.githubusercontent.com/Tracktion/pluginval/refs/heads/develop/tests/AddPluginvalTests.cmake
         ${CMAKE_BINARY_DIR}/pluginval/AddPluginvalTests.cmake
    )

INET-RC/GeoMX cmake/DownloadMKLML.cmake :28

file(DOWNLOAD "https://github.com/intel/mkl-dnn/releases/download/${MKLDNN_RELEASE}/${MKL_NAME}.zip"
       "${CMAKE_CURRENT_BINARY_DIR}/mklml/${MKL_NAME}.zip"
       EXPECTED_MD5 "443e661bdfd32dbbc99b460b43afceee" SHOW_PROGRESS)

polardb/polardbx-engine cmake/boost.cmake :210

FILE(DOWNLOAD ${BOOST_DOWNLOAD_URL}
    ${WITH_BOOST}/${BOOST_TARBALL}
    TIMEOUT ${DOWNLOAD_BOOST_TIMEOUT}
    STATUS ERR
    SHOW_PROGRESS
  )

visualboyadvance-m/visualboyadvance-m cmake/Set-Toolchain-vcpkg.cmake :224

file(
        DOWNLOAD "https://nightly.visualboyadvance-m.org/vcpkg/${triplet}/" "${CMAKE_BINARY_DIR}/binary_package_list_${triplet}.html"
        STATUS pkg_list_status
    )

PaddlePaddle/Paddle test/cpp/pir/core/CMakeLists.txt :23

file(
  DOWNLOAD
  https://paddle-ci.gz.bcebos.com/ir_translator_test/conditional_block_test.prog
  ${CMAKE_CURRENT_BINARY_DIR}/conditional_block_test.prog
  EXPECTED_MD5 cf9dc869ca7f69e2d57b38dbf8427134)

ned14/llfio .ci.cmake :98

file(DOWNLOAD "https://github.com/ned14/outcome/tarball/master" "${CMAKE_CURRENT_LIST_DIR}/outcome.tgz")

Tencent/Forward source/third_party/pybind11/tools/FindCatch.cmake :32

file(DOWNLOAD ${url} "${destination_dir}/catch.hpp" STATUS status)

meemknight/ourCraft thirdparty/glfw-3.3.2/CMake/GenerateMappings.cmake :13

file(DOWNLOAD "${source_url}" "${source_path}"
     STATUS download_status
     TLS_VERIFY on)

dlstreamer/dlstreamer CMakeLists.txt :70

file(DOWNLOAD ${URL} ${TARGET} SHOW_PROGRESS STATUS DOWNLOAD_STATUS)

IntelRealSense/librealsense unit-tests/CMakeLists.txt :43

file(DOWNLOAD "${src}/${filename}" "${dest}/${filename}"
                EXPECTED_HASH SHA1=${sha1}
                STATUS status)

contour-terminal/libunicode src/libunicode/CMakeLists.txt :17

file(DOWNLOAD ${LIBUNICODE_UCD_ZIP_DOWNLOAD_URL} ${LIBUNICODE_UCD_ZIP_FILE} SHOW_PROGRESS STATUS LIBUNICODE_UCD_ZIP_DOWNLOAD_STATUS EXPECTED_MD5 ${LIBUNICODE_UCD_MD5})

Kitware/VTK .gitlab/ci/download_openxrremoting.cmake :19

file(DOWNLOAD
  "${openxrremoting_url_root}/${openxrremoting_file}"
  ".gitlab/openxrremoting/${openxrremoting_file}"
  STATUS download_status
  EXPECTED_HASH "SHA256=${openxrremoting_hash}")

OpenGATE/Gate cmake-modules/ExternalData.cmake :642

file(DOWNLOAD "${url}" "${file}" STATUS status LOG log ${inactivity_timeout} ${absolute_timeout} SHOW_PROGRESS)

personalrobotics/aikido CMakeLists.txt :191

file(DOWNLOAD "${tagfile_url}" "${DOXYGEN_WORKING_DIR}/dart.tag")

mutationpp/Mutationpp thirdparty/eigen/lapack/CMakeLists.txt :47

file(DOWNLOAD "http://downloads.tuxfamily.org/eigen/lapack_addons_3.4.1.tgz"
                  "${CMAKE_CURRENT_SOURCE_DIR}/lapack_addons_3.4.1.tgz"
                  INACTIVITY_TIMEOUT 15
                  TIMEOUT 240
                  STATUS download_status
                  EXPECTED_MD5 5758ce55afcf79da98de8b9de1615ad5
                  SHOW_PROGRESS)

FreeRDP/FreeRDP cmake/WebView2.cmake :17

file(DOWNLOAD ${WEBVIEW2_URL} ${CMAKE_CURRENT_BINARY_DIR}/webview2.nuget EXPECTED_HASH SHA256=${WEBVIEW2_SHA256})

glfw/glfw CMake/GenerateMappings.cmake :15

file(DOWNLOAD "${source_url}" "${source_path}"
     STATUS download_status
     TLS_VERIFY on)

zhongfq/cocos-lua frameworks/3rd/glfw/CMake/GenerateMappings.cmake :13

file(DOWNLOAD "${source_url}" "${source_path}"
     STATUS download_status
     TLS_VERIFY on)

navit-gps/navit cmake/navit_download.cmake :2

file(DOWNLOAD ${URL} ${DST} SHOW_PROGRESS STATUS DOWNLOAD_STATUS)

skylersaleh/SkyEmu src/utf8proc/CMakeLists.txt :72

file(DOWNLOAD https://www.unicode.org/Public/${UNICODE_VERSION}/ucd/NormalizationTest.txt ${CMAKE_BINARY_DIR}/data/NormalizationTest.txt SHOW_PROGRESS)

parthenon-hpc-lab/parthenon CMakeLists.txt :345

file(
        DOWNLOAD https://github.com/parthenon-hpc-lab/parthenon/releases/download/regression-gold-v${REGRESSION_GOLD_STANDARD_VER}/parthenon_regression_gold_v${REGRESSION_GOLD_STANDARD_VER}.tgz ${PROJECT_SOURCE_DIR}/tst/regression/gold_standard/parthenon_regression_gold_v${REGRESSION_GOLD_STANDARD_VER}.tgz
        EXPECTED_HASH ${REGRESSION_GOLD_STANDARD_HASH}
        )