diff options
Diffstat (limited to 'vcpkg/ports/lerc')
| -rw-r--r-- | vcpkg/ports/lerc/create_package.patch | 23 | ||||
| -rw-r--r-- | vcpkg/ports/lerc/cxx-linkage-pkgconfig.patch | 31 | ||||
| -rw-r--r-- | vcpkg/ports/lerc/fix-climits-include.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/lerc/portfile.cmake | 27 | ||||
| -rw-r--r-- | vcpkg/ports/lerc/vcpkg.json | 17 |
5 files changed, 110 insertions, 0 deletions
diff --git a/vcpkg/ports/lerc/create_package.patch b/vcpkg/ports/lerc/create_package.patch new file mode 100644 index 0000000..86e24ec --- /dev/null +++ b/vcpkg/ports/lerc/create_package.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ab733f5..a52dc59 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,11 +38,18 @@ endif() + + install( + TARGETS Lerc ++ EXPORT LercTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) ++target_include_directories(Lerc PUBLIC "$<INSTALL_INTERFACE:include>") ++install(EXPORT LercTargets ++ FILE unofficial-lerc-config.cmake ++ NAMESPACE unofficial::Lerc:: ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-lerc" ++) + + # Handle both absolute paths (e.g. NixOS) and relative for a relocatable package + if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/vcpkg/ports/lerc/cxx-linkage-pkgconfig.patch b/vcpkg/ports/lerc/cxx-linkage-pkgconfig.patch new file mode 100644 index 0000000..3ee1de4 --- /dev/null +++ b/vcpkg/ports/lerc/cxx-linkage-pkgconfig.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a52dc59..caacfa8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,6 +64,16 @@ else() + endif() + + # Configure and install pkgconfig file ++set(FAKE_CXX_LINKAGE "") ++foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++endforeach() + configure_file(Lerc.pc.in ${CMAKE_CURRENT_BINARY_DIR}/Lerc.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Lerc.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +diff --git a/Lerc.pc.in b/Lerc.pc.in +index ab20d1a..4d2a967 100644 +--- a/Lerc.pc.in ++++ b/Lerc.pc.in +@@ -9,4 +9,4 @@ URL: @PROJECT_HOMEPAGE_URL@ + Version: @PROJECT_VERSION@ + Cflags: -I${includedir} + Cflags.private: -DLERC_STATIC +-Libs: -L${libdir} -lLerc ++Libs: -L${libdir} -lLerc @FAKE_CXX_LINKAGE@ diff --git a/vcpkg/ports/lerc/fix-climits-include.patch b/vcpkg/ports/lerc/fix-climits-include.patch new file mode 100644 index 0000000..84bebc3 --- /dev/null +++ b/vcpkg/ports/lerc/fix-climits-include.patch @@ -0,0 +1,12 @@ +diff --git a/src/LercLib/fpl_Compression.cpp b/src/LercLib/fpl_Compression.cpp +index bea9483..2e18e3e 100644 +--- a/src/LercLib/fpl_Compression.cpp ++++ b/src/LercLib/fpl_Compression.cpp +@@ -27,6 +27,7 @@ Original coding 2021 Yuriy Yakimenko + #include <assert.h> + #include <cmath> + #include <cstring> ++#include <climits> + + USING_NAMESPACE_LERC + diff --git a/vcpkg/ports/lerc/portfile.cmake b/vcpkg/ports/lerc/portfile.cmake new file mode 100644 index 0000000..b8e6a8e --- /dev/null +++ b/vcpkg/ports/lerc/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Esri/lerc
+ REF "js_v${VERSION}" + SHA512 061558d3b29e2d0968d1169ac422795faa6e70dd3425945194c1c87f4522422e186878b0235a5fc42f037c47c54964bf070b7644f8d652f33dc19f692a6ba0af + HEAD_REF master
+ PATCHES
+ create_package.patch
+ cxx-linkage-pkgconfig.patch
+ fix-climits-include.patch +)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-lerc)
+vcpkg_fixup_pkgconfig()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/Lerc_c_api.h" "defined(LERC_STATIC)" "1")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL "${SOURCE_PATH}/NOTICE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/lerc/vcpkg.json b/vcpkg/ports/lerc/vcpkg.json new file mode 100644 index 0000000..34eadc6 --- /dev/null +++ b/vcpkg/ports/lerc/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lerc", + "version": "4.0.4", + "description": "An open-source image or raster format which supports rapid encoding and decoding for any pixel type", + "homepage": "https://github.com/Esri/lerc", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |