[arrayfire] Avoid file(DOWNLOAD) (#48895)

This commit is contained in:
Billy O'Neal
2025-12-15 20:31:11 -08:00
committed by GitHub
parent 9984495d19
commit 2b6a882f61
7 changed files with 48 additions and 6 deletions

View File

@@ -5,6 +5,13 @@ vcpkg_download_distfile(
SHA512 201ba8c46f5eafd5d8dbc78ddc1fb4c24b8d820f034e081b8ff30712705fe059c2850bbb7394d81931620619071559fed0e98b13cc4f985103e354c44a322e78
)
# When updating arrayfire check $/CMakeModules/build_cl2hpp.cmake for this to match
vcpkg_download_distfile(CL2HPP
URLS "https://github.com/KhronosGroup/OpenCL-CLHPP/releases/download/v2.0.10/cl2.hpp"
FILENAME "arrayfire-${VERSION}-cl2hpp.hpp"
SHA512 f220e3dd013596fe3134bf43e2957c293186071460f2a03f6e81e0e7def3213a568d4b29a06b4921cd3488e8626200dcd4693808f0f6c8f88e67d4147ff474e8
)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO arrayfire/arrayfire
@@ -16,9 +23,12 @@ vcpkg_from_github(
Fix-constexpr-error-with-vs2019-with-half.patch
fix-dependency-clfft.patch
fix-miss-header-file.patch
remove-cl2hpp-download.diff
"${CUDA_PATCHES}"
)
file(COPY_FILE "${CL2HPP}" "${SOURCE_PATH}/cl2.hpp")
# arrayfire cpu thread lib needed as a submodule for the CPU backend
vcpkg_from_github(
OUT_SOURCE_PATH CPU_THREADS_PATH

View File

@@ -0,0 +1,20 @@
diff --git a/CMakeModules/build_cl2hpp.cmake b/CMakeModules/build_cl2hpp.cmake
index 70a94c5..083f7c2 100644
--- a/CMakeModules/build_cl2hpp.cmake
+++ b/CMakeModules/build_cl2hpp.cmake
@@ -17,12 +17,11 @@ set(cl2hpp_file_url "https://github.com/KhronosGroup/OpenCL-CLHPP/releases/downl
set(cl2hpp_file "${ArrayFire_BINARY_DIR}/include/CL/cl2.hpp")
if(OpenCL_FOUND)
+ get_filename_component(download_dir ${cl2hpp_file} DIRECTORY)
if (NOT EXISTS ${cl2hpp_file})
- message(STATUS "Downloading ${cl2hpp_file_url}")
- file(DOWNLOAD ${cl2hpp_file_url} ${cl2hpp_file}
- EXPECTED_HASH MD5=c38d1b78cd98cc809fa2a49dbd1734a5)
+ file(MAKE_DIRECTORY "${download_dir}")
+ file(COPY_FILE "${CMAKE_CURRENT_LIST_DIR}/../cl2.hpp" "${cl2hpp_file}")
endif()
- get_filename_component(download_dir ${cl2hpp_file} DIRECTORY)
if (NOT TARGET OpenCL::cl2hpp OR
NOT TARGET cl2hpp)

View File

@@ -1,7 +1,7 @@
{
"name": "arrayfire",
"version-semver": "3.8.0",
"port-version": 8,
"port-version": 9,
"description": "ArrayFire is a general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.",
"homepage": "https://github.com/arrayfire/arrayfire",
"license": "BSD-3-Clause",

View File

@@ -638,7 +638,6 @@ soem:x64-android=fail
soil:arm-neon-android=fail
soil:arm64-android=fail
soil:x64-android=fail
solid3:arm64-android=fail
spaceland:arm64-android=fail
spaceland:arm64-uwp=fail
spaceland:arm64-windows-static-md=fail

View File

@@ -300,11 +300,19 @@ armadillo:arm-neon-android=cascade
armadillo:arm64-android=cascade
armadillo:x64-android=cascade
arpack-ng:arm64-windows = cascade
arrayfire:x64-android = fail # CMake Error at CMakeLists.txt:140 (message): Native Directory not found. Run cmake in a separatedirectory and build the bin2cpp target.
arrayfire:x64-uwp = cascade
arrayfire[cuda]:x64-windows = cascade
arrayfire[cuda]:x64-windows-static = cascade
arrayfire[cuda]:x64-windows-static-md = cascade
arrayfire[cpu]((!windows & !linux) | !x64) = cascade
arrayfire[cuda]:x64-linux = feature-fails
arrayfire[cuda]:x64-windows = feature-fails
arrayfire[cuda]:x64-windows-release = feature-fails
arrayfire[cuda]:x64-windows-static = feature-fails
arrayfire[cuda]:x64-windows-static-md = feature-fails
arrayfire[cuda](((!windows | !x64 | uwp | xbox) & (!linux | !x64) & (!linux | !arm64)) | ((!windows | !x64 | uwp) & (!linux | !x64) & (!linux | !arm64))) = cascade
arrayfire[opencl]:x64-linux = feature-fails
arrayfire[opencl](uwp) = cascade
arrayfire[unified]:x64-windows-static = feature-fails # ninja: error: 'MKL_ThreadingLibrary_LINK_LIBRARY-NOTFOUND', needed by 'bin/af.dll', missing and no known rule to make it
arrayfire[unified]((!windows & !linux) | !x64) = cascade
arrow:x64-uwp = cascade
arrow[cuda]:x64-linux = feature-fails
arrow[cuda]:x64-windows = feature-fails

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c0aef37891aafcb73d45f1e18bba8c581085b099",
"version-semver": "3.8.0",
"port-version": 9
},
{
"git-tree": "3ed888c7fc2aa125e626ff0f097b00a4230bab1c",
"version-semver": "3.8.0",

View File

@@ -274,7 +274,7 @@
},
"arrayfire": {
"baseline": "3.8.0",
"port-version": 8
"port-version": 9
},
"arrow": {
"baseline": "21.0.0",