aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/lz4
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/lz4')
-rw-r--r--vcpkg/ports/lz4/portfile.cmake62
-rw-r--r--vcpkg/ports/lz4/target-lz4-lz4.diff17
-rw-r--r--vcpkg/ports/lz4/usage8
-rw-r--r--vcpkg/ports/lz4/vcpkg.json23
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"
+ }
+ }
+}