diff --git a/ports/pdal-dimbuilder/portfile.cmake b/ports/pdal-dimbuilder/portfile.cmake index 72c027c63a..5ad58166ae 100644 --- a/ports/pdal-dimbuilder/portfile.cmake +++ b/ports/pdal-dimbuilder/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_from_github( #[[ Attention: pdal must be updated together with pdal-dimbuilder #]] - SHA512 16350288122aae0c6f59bf91d1ee631b85e9653d76b706d27427706484fefbbe5f7fa3bc3ec1f1fda0fd37fb6cb0388d3ed712db614c22aff5dcd66b4998ff1e + SHA512 85aaab726d172ef46b8cf05bd72772da72cf5615db549cd262acc4d468f631f1093577b9866ca598b7bef72507f7774e599e66a6cbbf589bd1b5b85bb8107642 HEAD_REF master PATCHES namespace-nl.diff diff --git a/ports/pdal-dimbuilder/vcpkg.json b/ports/pdal-dimbuilder/vcpkg.json index a1abafac01..26059b985d 100644 --- a/ports/pdal-dimbuilder/vcpkg.json +++ b/ports/pdal-dimbuilder/vcpkg.json @@ -1,6 +1,6 @@ { "name": "pdal-dimbuilder", - "version": "2.8.4", + "version": "2.9.0", "description": "A tool used by the PDAL build process", "homepage": "https://pdal.io/", "license": "BSD-3-Clause", diff --git a/ports/pdal/dependencies.diff b/ports/pdal/dependencies.diff index d166d313ea..00837415b4 100644 --- a/ports/pdal/dependencies.diff +++ b/ports/pdal/dependencies.diff @@ -12,9 +12,9 @@ index dc65543..5bccbce 100644 -add_subdirectory(vendor/utfcpp) add_subdirectory(vendor/lepcc) -add_subdirectory(vendor/h3) + add_subdirectory(vendor/spz) add_subdirectory(tools) add_subdirectory(apps) - @@ -220,12 +217,13 @@ add_library(PDAL::PDAL ALIAS ${PDAL_LIB_NAME}) @@ -38,14 +38,15 @@ index dc65543..5bccbce 100644 +find_package(nanoflann CONFIG REQUIRED) +target_link_libraries(${PDAL_LIB_NAME} PRIVATE nanoflann::nanoflann) - # - # Allow downstream cmake projects to find PDAL header files without -@@ -274,7 +274,7 @@ target_include_directories(${PDAL_LIB_NAME} + if (ZSTD_FOUND) + target_link_libraries(${PDAL_LIB_NAME} +@@ -307,9 +307,6 @@ target_include_directories(${PDAL_LIB_NAME} + INTERFACE + $) - target_compile_definitions(${PDAL_LIB_NAME} - PRIVATE +-target_compile_definitions(${PDAL_LIB_NAME} +- PRIVATE - H3_PREFIX=PDALH3) -+) if(WIN32) target_compile_definitions(${PDAL_LIB_NAME} @@ -63,20 +64,6 @@ index 5f68579..a407c60 100644 set_package_properties(GDAL PROPERTIES TYPE REQUIRED PURPOSE "Provides general purpose raster, vector, and reference system support") if (GDAL_FOUND) -diff --git a/cmake/geotiff.cmake b/cmake/geotiff.cmake -index 1d1e8af..f713c05 100644 ---- a/cmake/geotiff.cmake -+++ b/cmake/geotiff.cmake -@@ -2,7 +2,8 @@ - # GeoTIFF support - # - --find_package(GeoTIFF REQUIRED 1.3.0) -+find_package(GeoTIFF CONFIG REQUIRED) -+set(GEOTIFF_LIBRARY ${GEOTIFF_LIBRARIES}) - set_package_properties(GeoTIFF PROPERTIES TYPE REQUIRED) - if (GEOTIFF_FOUND) - include_directories("${GEOTIFF_INCLUDE_DIR}") diff --git a/cmake/h3.cmake b/cmake/h3.cmake index 398ad6d..fb3c9ad 100644 --- a/cmake/h3.cmake @@ -114,37 +101,6 @@ index 6543ff6..dc6fac8 100644 +set(UTFCPP_INCLUDE_DIR "") set(UTFCPP_LIB_NAME utf8::cpp) -diff --git a/cmake/zstd.cmake b/cmake/zstd.cmake -index dfe3dc0..9f699e6 100644 ---- a/cmake/zstd.cmake -+++ b/cmake/zstd.cmake -@@ -4,7 +4,10 @@ - option(WITH_ZSTD - "Build support for compression/decompression with Zstd." TRUE) - if (WITH_ZSTD) -- find_package(ZSTD QUIET) -+ find_package(ZSTD NAMES zstd REQUIRED) -+ set(ZSTD_INCLUDE_DIRS "") -+ set(ZSTD_LIBRARIES zstd::libzstd) -+ set(ZSTD_STATIC_LIB zstd::libzstd) - set_package_properties(ZSTD PROPERTIES TYPE - PURPOSE "General compression support") - if (ZSTD_FOUND) -diff --git a/filters/H3Filter.cpp b/filters/H3Filter.cpp -index 6eb10a2..153c3ee 100644 ---- a/filters/H3Filter.cpp -+++ b/filters/H3Filter.cpp -@@ -45,7 +45,9 @@ - #include - #include - --#include -+#include

-+#define PDALH3degsToRads degsToRads -+#define PDALH3latLngToCell latLngToCell - - namespace pdal - { diff --git a/pdal/JsonFwd.hpp b/pdal/JsonFwd.hpp index f764961..f64dcc6 100644 --- a/pdal/JsonFwd.hpp @@ -205,5 +161,5 @@ index b15d595..a452d14 100644 target_link_libraries(lasdump PRIVATE + ${UTFCPP_LIB_NAME} ${PDAL_LAZPERF_LIB_NAME} + ${GDAL_LIBRARY} ) - target_include_directories(lasdump PRIVATE diff --git a/ports/pdal/h3api.h b/ports/pdal/h3api.h new file mode 100644 index 0000000000..41aac33c52 --- /dev/null +++ b/ports/pdal/h3api.h @@ -0,0 +1,8 @@ +#include

+#define PDALH3degsToRads degsToRads +#define PDALH3radsToDegs radsToDegs +#define PDALH3latLngToCell latLngToCell +#define PDALH3localIjToCell localIjToCell +#define PDALH3cellToLocalIj cellToLocalIj +#define PDALH3cellsToDirectedEdge cellsToDirectedEdge +#define PDALH3directedEdgeToBoundary directedEdgeToBoundary diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 723f427e00..dcf198f5ae 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -1,24 +1,5 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -vcpkg_download_distfile( - gdal_3_11_diff - URLS "https://github.com/PDAL/PDAL/commit/0f6469d6a64b20a5554f8cfa9792361c3c055fcf.diff?full_index=1" - FILENAME "PDAL-PDAL-2.8.4-gdal-3.11-0f6469d.diff" - SHA512 e0aecd9e56d041b81c0c5ddd7a6a0f9b323cdcc806fdc44507fc8ee2001c605fe20a1b3b7502dd02905ec55f85fdabd7bfd29a6eac865e55c224b3ff263cd4f6 -) -vcpkg_download_distfile( - gdal_3_11_diff_2 - URLS "https://github.com/PDAL/PDAL/commit/6eab0d87c9bd550d59c08fa4496872f63ac62062.diff?full_index=1" - FILENAME "PDAL-PDAL-2.8.4-gdal-3.11-6eab0d8.diff" - SHA512 dea919c69f2c9d4b5a60d9fc969d6f0dc7b0ad3876a4599286987272af75ddf5d3f77a5d273208e4106c456cf7810ebdece2810d121d1f3e5d9adaa0416dd7b8 -) -vcpkg_download_distfile( - gdal_3_11_diff_3 - URLS "https://github.com/PDAL/PDAL/commit/cca07c0254cff367ce6c12bfc18b9cdb2331c700.diff?full_index=1" - FILENAME "PDAL-PDAL-2.8.4-gdal-3.11-cca07c0.diff" - SHA512 e20608fb6a117c35a01a541eb63af4ab11d9df7b508836c622d17c97938707b8d09553cc3bb53d3986a42fcaf5c7774315215bcb6063272d9bcb9b54267d5a6a -) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PDAL/PDAL @@ -26,20 +7,17 @@ vcpkg_from_github( #[[ Attention: pdal-dimbuilder must be updated together with pdal #]] - SHA512 16350288122aae0c6f59bf91d1ee631b85e9653d76b706d27427706484fefbbe5f7fa3bc3ec1f1fda0fd37fb6cb0388d3ed712db614c22aff5dcd66b4998ff1e + SHA512 85aaab726d172ef46b8cf05bd72772da72cf5615db549cd262acc4d468f631f1093577b9866ca598b7bef72507f7774e599e66a6cbbf589bd1b5b85bb8107642 HEAD_REF master PATCHES dependencies.diff external-dimbuilder.diff find-library-suffix.diff no-rpath.patch - "${gdal_3_11_diff}" - "${gdal_3_11_diff_2}" - "${gdal_3_11_diff_3}" - gdal-3.11.diff # backport of https://github.com/PDAL/PDAL/commit/e840f5901010c513395c9f7f13e4001260e187d4 + spz-zlib.diff # https://github.com/PDAL/PDAL/issues/4745 ) file(REMOVE_RECURSE - "${SOURCE_PATH}/cmake/modules/FindCURL.cmake" + "${SOURCE_PATH}/cmake/modules/FindCurl.cmake" "${SOURCE_PATH}/cmake/modules/FindGeoTIFF.cmake" "${SOURCE_PATH}/cmake/modules/FindICONV.cmake" "${SOURCE_PATH}/cmake/modules/FindZSTD.cmake" @@ -50,6 +28,8 @@ file(REMOVE_RECURSE "${SOURCE_PATH}/vendor/schema-validator" "${SOURCE_PATH}/vendor/utfcpp" ) +# PDAL includes "h3api.h", and some calls are decorated with PDALH3 +file(COPY "${CURRENT_PORT_DIR}/h3api.h" DESTINATION "${SOURCE_PATH}") # PDAL uses namespace 'NL' for nlohmann file(COPY "${CURRENT_INSTALLED_DIR}/include/nlohmann" DESTINATION "${SOURCE_PATH}/vendor/nlohmann/") file(APPEND "${SOURCE_PATH}/vendor/nlohmann/nlohmann/json.hpp" "\nnamespace NL = nlohmann;\n") @@ -127,10 +107,14 @@ file(READ "${SOURCE_PATH}/vendor/lepcc/src/LEPCC.h" license) string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}") file(WRITE "${lepcc_license}" "${license}") +set(spz_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/spz LICENSE") +file(COPY_FILE "${SOURCE_PATH}/vendor/spz/LICENSE" "${spz_license}") + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${arbiter_license}" "${kazhdan_license}" "${lazperf_license}" "${lepcc_license}" + "${spz_license}" ) diff --git a/ports/pdal/spz-zlib.diff b/ports/pdal/spz-zlib.diff new file mode 100644 index 0000000000..b57c6e7c5e --- /dev/null +++ b/ports/pdal/spz-zlib.diff @@ -0,0 +1,11 @@ +diff --git a/vendor/spz/CMakeLists.txt b/vendor/spz/CMakeLists.txt +index 7377269..b866bb7 100644 +--- a/vendor/spz/CMakeLists.txt ++++ b/vendor/spz/CMakeLists.txt +@@ -10,5 +10,6 @@ file(GLOB SPZ_SRCS + PDAL_ADD_FREE_LIBRARY(${PDAL_SPZ_LIB_NAME} STATIC ${SPZ_SRCS}) + + set_target_properties(${PDAL_SPZ_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) ++target_link_libraries(${PDAL_SPZ_LIB_NAME} PRIVATE ZLIB::ZLIB) + + set_property(GLOBAL PROPERTY _PDAL_SPZ_INCLUDED TRUE) diff --git a/ports/pdal/vcpkg.json b/ports/pdal/vcpkg.json index 72038738b8..b0ba6474d6 100644 --- a/ports/pdal/vcpkg.json +++ b/ports/pdal/vcpkg.json @@ -1,7 +1,6 @@ { "name": "pdal", - "version": "2.8.4", - "port-version": 1, + "version": "2.9.0", "description": "PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.", "homepage": "https://pdal.io/", "license": null, diff --git a/versions/baseline.json b/versions/baseline.json index faa9371fb1..2e87a174d0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7205,15 +7205,15 @@ "port-version": 0 }, "pdal": { - "baseline": "2.8.4", - "port-version": 1 + "baseline": "2.9.0", + "port-version": 0 }, "pdal-c": { "baseline": "2.2.0", "port-version": 0 }, "pdal-dimbuilder": { - "baseline": "2.8.4", + "baseline": "2.9.0", "port-version": 0 }, "pdcurses": { diff --git a/versions/p-/pdal-dimbuilder.json b/versions/p-/pdal-dimbuilder.json index 28ccb72d50..6049021640 100644 --- a/versions/p-/pdal-dimbuilder.json +++ b/versions/p-/pdal-dimbuilder.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "38afc2f2b79098fc88f3280e5a2a3d650fd0774e", + "version": "2.9.0", + "port-version": 0 + }, { "git-tree": "247fd325eb4de5174b888fd43fa6bc546e61f11c", "version": "2.8.4", diff --git a/versions/p-/pdal.json b/versions/p-/pdal.json index 91219a5f8e..8e8c21774a 100644 --- a/versions/p-/pdal.json +++ b/versions/p-/pdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cb2dc06ee5a21456cd9107eb556222b65d4cea88", + "version": "2.9.0", + "port-version": 0 + }, { "git-tree": "4156020f50513b9521f932fbe60f5f81967b0148", "version": "2.8.4",