diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/fp16 | |
Diffstat (limited to 'vcpkg/ports/fp16')
| -rw-r--r-- | vcpkg/ports/fp16/fix-cmake.patch | 71 | ||||
| -rw-r--r-- | vcpkg/ports/fp16/portfile.cmake | 18 | ||||
| -rw-r--r-- | vcpkg/ports/fp16/vcpkg.json | 18 |
3 files changed, 107 insertions, 0 deletions
diff --git a/vcpkg/ports/fp16/fix-cmake.patch b/vcpkg/ports/fp16/fix-cmake.patch new file mode 100644 index 0000000..0abe30c --- /dev/null +++ b/vcpkg/ports/fp16/fix-cmake.patch @@ -0,0 +1,71 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e0d87f8..ae08c37 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,7 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) + INCLUDE(GNUInstallDirs) + + # ---[ Project +-PROJECT(FP16 C CXX) ++PROJECT(fp16 C CXX) + + # ---[ Options. + OPTION(FP16_BUILD_TESTS "Build FP16 unit tests" ON) +@@ -33,7 +33,10 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps + SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps + CACHE PATH "Confu-style dependencies binary directory") + +-IF(NOT DEFINED PSIMD_SOURCE_DIR) ++find_package(unofficial-psimd CONFIG REQUIRED) ++add_library(psimd ALIAS unofficial::psimd::psimd) ++ ++IF(FALSE) + MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -77,7 +80,7 @@ ENDIF() + TARGET_INCLUDE_DIRECTORIES(fp16 INTERFACE + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + $<INSTALL_INTERFACE:include>) +- ++TARGET_LINK_LIBRARIES(fp16 INTERFACE psimd) + INSTALL(FILES include/fp16.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + INSTALL(FILES +@@ -89,6 +92,23 @@ INSTALL(FILES + include/fp16/avx2.py + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fp16) + ++ ++INSTALL(TARGETS fp16 ++ EXPORT unofficial-fp16-config-targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++ INSTALL(EXPORT unofficial-fp16-config-targets NAMESPACE unofficial::fp16:: ++ FILE unofficial-fp16-config-targets.cmake ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16) # share/fp16 ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/unofficial-fp16-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fp16-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16) ++ ++ ++ + # ---[ Configure psimd + IF(NOT TARGET psimd) + ADD_SUBDIRECTORY( +diff --git a/Config.cmake.in b/Config.cmake.in +new file mode 100644 +index 0000000..4523150 +--- /dev/null ++++ b/Config.cmake.in +@@ -0,0 +1,7 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++find_dependency(unofficial-psimd) ++ ++ ++include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-fp16-config-targets.cmake" ) diff --git a/vcpkg/ports/fp16/portfile.cmake b/vcpkg/ports/fp16/portfile.cmake new file mode 100644 index 0000000..e4e2b34 --- /dev/null +++ b/vcpkg/ports/fp16/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Maratyszcza/fp16 + REF 4dfe081cf6bcd15db339cf2680b9281b8451eeb3 + SHA512 e79a1f6f8d4aeca85982158d5b070923d31d4f2062ed84cfa6f26c47a34f2e8ac49e0f330b7d49f5732d5e1eec6e7afccdac43645070060fb7827e2ce261dd3e + PATCHES + fix-cmake.patch +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFP16_BUILD_TESTS=OFF + -DFP16_BUILD_BENCHMARKS=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/vcpkg/ports/fp16/vcpkg.json b/vcpkg/ports/fp16/vcpkg.json new file mode 100644 index 0000000..8d890ce --- /dev/null +++ b/vcpkg/ports/fp16/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "fp16", + "version-date": "2021-02-21", + "port-version": 4, + "description": "Header-only library for conversion to/from half-precision floating point formats", + "homepage": "https://github.com/Maratyszcza/FP16", + "dependencies": [ + "psimd", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |