|
| 1 | +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) |
| 2 | + |
| 3 | +vcpkg_from_github( |
| 4 | + OUT_SOURCE_PATH SOURCE_PATH |
| 5 | + REPO koubaa/goldy |
| 6 | + REF "v${VERSION}" |
| 7 | + SHA512 8ff9ac74d796cc5ac4660232cf55edda9f848aca4fd565e59d4e6a90c3d2c1ced444b96aa4f2ab4cfe300049eda5aaa275238ba4e7c341771ef3c8b723df79a0 |
| 8 | + HEAD_REF main |
| 9 | +) |
| 10 | + |
| 11 | +# Download pre-built native library for target platform |
| 12 | +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") |
| 13 | + vcpkg_download_distfile(GOLDY_FFI_ARCHIVE |
| 14 | + URLS "https://github.com/koubaa/goldy/releases/download/v${VERSION}/goldy_ffi-windows-x64.zip" |
| 15 | + FILENAME "goldy_ffi-${VERSION}-windows-x64.zip" |
| 16 | + SHA512 15142e06536046d4f2768c95256471efb8c0cb1b52a905f34aaab9636d5f98139b7a038afeace680879298695dfe952061a404eb7da5ef6999f65b8317455ef9 |
| 17 | + ) |
| 18 | +elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") |
| 19 | + vcpkg_download_distfile(GOLDY_FFI_ARCHIVE |
| 20 | + URLS "https://github.com/koubaa/goldy/releases/download/v${VERSION}/goldy_ffi-linux-x64.tar.gz" |
| 21 | + FILENAME "goldy_ffi-${VERSION}-linux-x64.tar.gz" |
| 22 | + SHA512 ebc70ffdc0895ed8755a5e475d0e06e91114998e0dab1a6a2db4f909a1b606a3b6c150e9325a23ff498a3d82c67ff7e433fe5524399bbbb4e4308f2969ac527f |
| 23 | + ) |
| 24 | +elseif(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") |
| 25 | + vcpkg_download_distfile(GOLDY_FFI_ARCHIVE |
| 26 | + URLS "https://github.com/koubaa/goldy/releases/download/v${VERSION}/goldy_ffi-macos-x64.tar.gz" |
| 27 | + FILENAME "goldy_ffi-${VERSION}-macos-x64.tar.gz" |
| 28 | + SHA512 416ad1957f96fb7a9e6a5a0711ae58e75c0658f8f84014797b041b482698b4780fd422ffcd515e46796395a69400ece2487ff2225b7df729959c87b05da826e1 |
| 29 | + ) |
| 30 | +elseif(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") |
| 31 | + vcpkg_download_distfile(GOLDY_FFI_ARCHIVE |
| 32 | + URLS "https://github.com/koubaa/goldy/releases/download/v${VERSION}/goldy_ffi-macos-arm64.tar.gz" |
| 33 | + FILENAME "goldy_ffi-${VERSION}-macos-arm64.tar.gz" |
| 34 | + SHA512 7451fb6cbec47f869c295db480a2d9f32a064e0602e40cc8b9742543e78fccf35fae542e24d883b0ea632d803cc2789a120dfe880ca84e806b5f0091edf5007a |
| 35 | + ) |
| 36 | +else() |
| 37 | + message(FATAL_ERROR "Unsupported platform: ${VCPKG_TARGET_TRIPLET}") |
| 38 | +endif() |
| 39 | + |
| 40 | +vcpkg_extract_source_archive( |
| 41 | + BINARY_PATH |
| 42 | + ARCHIVE "${GOLDY_FFI_ARCHIVE}" |
| 43 | + NO_REMOVE_ONE_LEVEL |
| 44 | +) |
| 45 | + |
| 46 | +# Install headers |
| 47 | +file(INSTALL "${SOURCE_PATH}/cpp/include/goldy.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") |
| 48 | +file(INSTALL "${SOURCE_PATH}/cpp/include/goldy.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") |
| 49 | + |
| 50 | +# Install native library |
| 51 | +if(VCPKG_TARGET_IS_WINDOWS) |
| 52 | + file(INSTALL "${BINARY_PATH}/lib/goldy_ffi.dll" |
| 53 | + DESTINATION "${CURRENT_PACKAGES_DIR}/bin") |
| 54 | + file(INSTALL "${BINARY_PATH}/lib/goldy_ffi.dll.lib" |
| 55 | + DESTINATION "${CURRENT_PACKAGES_DIR}/lib" |
| 56 | + RENAME "goldy_ffi.lib") |
| 57 | + |
| 58 | + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") |
| 59 | + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") |
| 60 | + file(INSTALL "${BINARY_PATH}/lib/goldy_ffi.dll" |
| 61 | + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") |
| 62 | + file(INSTALL "${BINARY_PATH}/lib/goldy_ffi.dll.lib" |
| 63 | + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" |
| 64 | + RENAME "goldy_ffi.lib") |
| 65 | +elseif(VCPKG_TARGET_IS_LINUX) |
| 66 | + file(INSTALL "${BINARY_PATH}/lib/libgoldy_ffi.so" |
| 67 | + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") |
| 68 | + |
| 69 | + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") |
| 70 | + file(INSTALL "${BINARY_PATH}/lib/libgoldy_ffi.so" |
| 71 | + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") |
| 72 | +elseif(VCPKG_TARGET_IS_OSX) |
| 73 | + file(INSTALL "${BINARY_PATH}/lib/libgoldy_ffi.dylib" |
| 74 | + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") |
| 75 | + |
| 76 | + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") |
| 77 | + file(INSTALL "${BINARY_PATH}/lib/libgoldy_ffi.dylib" |
| 78 | + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") |
| 79 | +endif() |
| 80 | + |
| 81 | +# Install CMake config and usage |
| 82 | +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/goldy-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") |
| 83 | +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") |
| 84 | + |
| 85 | +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") |
0 commit comments