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/lz4 | |
Diffstat (limited to 'vcpkg/ports/lz4')
| -rw-r--r-- | vcpkg/ports/lz4/portfile.cmake | 62 | ||||
| -rw-r--r-- | vcpkg/ports/lz4/target-lz4-lz4.diff | 17 | ||||
| -rw-r--r-- | vcpkg/ports/lz4/usage | 8 | ||||
| -rw-r--r-- | vcpkg/ports/lz4/vcpkg.json | 23 |
4 files changed, 110 insertions, 0 deletions
diff --git a/vcpkg/ports/lz4/portfile.cmake b/vcpkg/ports/lz4/portfile.cmake new file mode 100644 index 0000000..7e8f514 --- /dev/null +++ b/vcpkg/ports/lz4/portfile.cmake @@ -0,0 +1,62 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lz4/lz4 + REF v${VERSION} + SHA512 8c4ceb217e6dc8e7e0beba99adc736aca8963867bcf9f970d621978ba11ce92855912f8b66138037a1d2ae171e8e17beb7be99281fea840106aa60373c455b28 + HEAD_REF dev + PATCHES + target-lz4-lz4.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools LZ4_BUILD_CLI +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/build/cmake" + OPTIONS + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DCMAKE_DEBUG_POSTFIX=d +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES lz4 + AUTO_CLEAN + ) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(DLL_IMPORT "1 && defined(_MSC_VER)") +else() + set(DLL_IMPORT "0") +endif() +foreach(FILE lz4.h lz4frame.h) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${FILE}" + "defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)" + "${DLL_IMPORT}" + ) +endforeach() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/lz4") + +vcpkg_fixup_pkgconfig() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/liblz4.pc" " -llz4" " -llz4d") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(LICENSE_FILES "${SOURCE_PATH}/lib/LICENSE") +if("tools" IN_LIST FEATURES) + list(APPEND LICENSE_FILES "${SOURCE_PATH}/programs/COPYING") +endif() +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/vcpkg/ports/lz4/target-lz4-lz4.diff b/vcpkg/ports/lz4/target-lz4-lz4.diff new file mode 100644 index 0000000..9d0a813 --- /dev/null +++ b/vcpkg/ports/lz4/target-lz4-lz4.diff @@ -0,0 +1,17 @@ +diff --git a/build/cmake/lz4Config.cmake.in b/build/cmake/lz4Config.cmake.in +index e9c9473..4b48032 100644 +--- a/build/cmake/lz4Config.cmake.in ++++ b/build/cmake/lz4Config.cmake.in +@@ -1,2 +1,10 @@ + @PACKAGE_INIT@ +-include( "${CMAKE_CURRENT_LIST_DIR}/lz4Targets.cmake" ) +\ No newline at end of file ++include( "${CMAKE_CURRENT_LIST_DIR}/lz4Targets.cmake" ) ++if(NOT TARGET lz4::lz4) ++ add_library(lz4::lz4 INTERFACE IMPORTED) ++ if("@BUILD_SHARED_LIBS@") ++ set_target_properties(lz4::lz4 PROPERTIES INTERFACE_LINK_LIBRARIES LZ4::lz4_shared) ++ else() ++ set_target_properties(lz4::lz4 PROPERTIES INTERFACE_LINK_LIBRARIES LZ4::lz4_static) ++ endif() ++endif() diff --git a/vcpkg/ports/lz4/usage b/vcpkg/ports/lz4/usage new file mode 100644 index 0000000..79ce4af --- /dev/null +++ b/vcpkg/ports/lz4/usage @@ -0,0 +1,8 @@ +lz4 provides CMake targets:
+
+ find_package(lz4 CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE lz4::lz4)
+
+lz4 provides pkg-config modules:
+
+ liblz4
diff --git a/vcpkg/ports/lz4/vcpkg.json b/vcpkg/ports/lz4/vcpkg.json new file mode 100644 index 0000000..29acb79 --- /dev/null +++ b/vcpkg/ports/lz4/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "lz4", + "version": "1.10.0", + "description": "Lossless compression algorithm, providing compression speed at 400 MB/s per core.", + "homepage": "https://github.com/lz4/lz4", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build lz4 binary", + "license": "GPL-2.0-or-later" + } + } +} |