2 OUT_SOURCE_PATH SOURCE_PATH
3 REPO arrayfire/arrayfire
4 REF 59ac7b980d1ae124aae914fb29cbf086c948954d # v3.7.3
5 SHA512 e8c209a5249046cb8d68877463b4f4921cfc363ec2f9b070ba67c9e00cbe7b44d5db209922dabc47e53977ff918e7f0d289f85c7571a826c2050d0ee8deae3e0
10 # arrayfire cpu thread lib needed as a submodule for the CPU backend
12 OUT_SOURCE_PATH CPU_THREADS_PATH
13 REPO arrayfire/threads
14 REF b666773940269179f19ef11c8f1eb77005e85d9a
15 SHA512 b3e8b54acf3a588b1f821c2774d5da2d8f8441962c6d99808d513f7117278b9066eb050b8b501bddbd3882e68eb5cc5da0b2fca54e15ab1923fe068a3fe834f5
19 # Get forge. We only need headers and aren't actually linking.
20 # We don't want to use the vcpkg dependency since it is broken in many
21 # environments - see https://github.com/microsoft/vcpkg/issues/14864. This
22 # can be relaxed when the issue is fixed. Forge and its dependencies
23 # are still runtime dependencies, so the user can use the graphics
24 # library by installing forge and freeimage.
26 OUT_SOURCE_PATH FORGE_PATH
28 REF 1a0f0cb6371a8c8053ab5eb7cbe3039c95132389 # v1.0.5
29 SHA512 8f8607421880a0f0013380eb5efb3a4f05331cd415d68c9cd84dd57eb727da1df6223fc6d65b106675d6aa09c3388359fab64443c31fadadf7641161be6b3b89
33 ################################### Build ###################################
36 set(AF_DEFAULT_VCPKG_CMAKE_FLAGS
39 -DAF_BUILD_EXAMPLES=OFF
42 -DAF_CPU_THREAD_PATH=${CPU_THREADS_PATH} # for building the arrayfire cpu threads lib
43 -DAF_FORGE_PATH=${FORGE_PATH} # forge headers for building the graphics lib
45 -DAF_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT} # for CMake configs/targets
48 # bin/dll directory for Windows non-static builds for the unified backend dll
49 if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
50 set(AF_BIN_DIR ${CURRENT_PACKAGES_DIR})
51 list(APPEND AF_DEFAULT_VCPKG_CMAKE_FLAGS "-DAF_BIN_DIR=${AF_BIN_DIR}")
54 if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
55 message(WARNING "NOTE: Windows support with static linkeage is still experimental.")
58 # Determine which backend to build via specified feature
60 OUT_FEATURE_OPTIONS AF_BACKEND_FEATURE_OPTIONS
62 unified AF_BUILD_UNIFIED
65 opencl AF_BUILD_OPENCL
69 vcpkg_configure_cmake(
70 SOURCE_PATH ${SOURCE_PATH}
73 ${AF_DEFAULT_VCPKG_CMAKE_FLAGS}
74 ${AF_BACKEND_FEATURE_OPTIONS}
80 file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
81 file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
83 # Copyright and license
84 file(INSTALL ${SOURCE_PATH}/COPYRIGHT.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
85 file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)