Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/cmake/ActsEnsureUv.cmake is written in an unsupported language. File is not indexed.

0001 include_guard(GLOBAL)
0002 
0003 find_program(uv_exe uv)
0004 
0005 if(uv_exe STREQUAL "uv_exe-NOTFOUND")
0006     message(STATUS "uv not found, installing it")
0007 
0008     set(_uv_version "0.7.19")
0009     set(_base_url
0010         "https://github.com/astral-sh/uv/releases/download/${_uv_version}"
0011     )
0012 
0013     if(NOT APPLE AND NOT UNIX)
0014         message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}")
0015     endif()
0016 
0017     if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
0018         if(APPLE)
0019             set(UV_URL "${_base_url}/uv-x86_64-apple-darwin.tar.gz")
0020             set(UV_HASH
0021                 "SHA256=698d24883fd441960fb4bc153b7030b89517a295502017ff3fdbba2fb0a0aa67"
0022             )
0023         elseif(UNIX)
0024             set(UV_URL "${_base_url}/uv-x86_64-unknown-linux-musl.tar.gz")
0025             set(UV_HASH
0026                 "SHA256=6236ed00a7442ab2c0f56f807d5a3331f3fb5c7640a357482fbc8492682641b2"
0027             )
0028         endif()
0029     elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(arm)|(ARM)|(aarch64)")
0030         if(APPLE)
0031             set(UV_URL "${_base_url}/uv-aarch64-apple-darwin.tar.gz")
0032             set(UV_HASH
0033                 "SHA256=698d24883fd441960fb4bc153b7030b89517a295502017ff3fdbba2fb0a0aa67"
0034             )
0035         elseif(UNIX)
0036             set(UV_URL "${_base_url}/uv-aarch64-unknown-linux-musl.tar.gz")
0037             set(UV_HASH
0038                 "SHA256=e83c7c6d86c8e7456078c736a72550ce20222df8083f9317fc58cd49422ce5eb"
0039             )
0040         endif()
0041     else()
0042         message(
0043             FATAL_ERROR
0044             "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}"
0045         )
0046     endif()
0047 
0048     message(STATUS "Downloading uv from ${UV_URL}")
0049     set(UV_DIR "${CMAKE_BINARY_DIR}/uv")
0050     file(DOWNLOAD ${UV_URL} ${UV_DIR}/uv.tar.gz EXPECTED_HASH ${UV_HASH})
0051     file(ARCHIVE_EXTRACT INPUT ${UV_DIR}/uv.tar.gz DESTINATION ${UV_DIR})
0052     file(REMOVE ${UV_DIR}/uv.tar.gz)
0053 
0054     file(GLOB uv_extracted ${UV_DIR}/uv*)
0055     message(STATUS "Extracted uv: ${uv_extracted}")
0056 
0057     find_program(uv_exe uv PATHS ${uv_extracted} REQUIRED NO_DEFAULT_PATH)
0058 endif()
0059 
0060 execute_process(
0061     COMMAND ${uv_exe} --version
0062     OUTPUT_VARIABLE _uv_version_str
0063     OUTPUT_STRIP_TRAILING_WHITESPACE
0064 )
0065 message(STATUS "Found uv ${_uv_version_str}: ${uv_exe}")