[pdal] Update to 2.8.1 (#41685)

This commit is contained in:
Kai Pastor 2024-11-05 21:26:48 +01:00 committed by GitHub
parent 79a2b260ad
commit 6a150001c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 370 additions and 285 deletions

View File

@ -0,0 +1,12 @@
diff --git a/dimbuilder/DimBuilder.hpp b/dimbuilder/DimBuilder.hpp
index cb6dc54..8bee581 100644
--- a/dimbuilder/DimBuilder.hpp
+++ b/dimbuilder/DimBuilder.hpp
@@ -35,6 +35,7 @@
#include <vector>
#include <nlohmann/json.hpp>
+namespace NL = nlohmann;
#include <pdal/DimUtil.hpp>

View File

@ -0,0 +1,32 @@
# Host tool needed by pdal. No bells and whistles.
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
set(VCPKG_BUILD_TYPE release)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO PDAL/PDAL
REF "${VERSION}"
#[[
Attention: pdal must be updated together with pdal-dimbuilder
#]]
SHA512 1f9c4383fdbd4e10ef0b30b7148386692f8bd5f19b57a0323d92f2dc55a14fbc6a0d4d60c16c9604cbd3837c0ae8e3c88baebdefd534273952f92f01c5703554
HEAD_REF master
PATCHES
namespace-nl.diff
)
file(REMOVE_RECURSE "${SOURCE_PATH}/vendor")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/dimbuilder"
OPTIONS
"-DNLOHMANN_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include"
"-DUTFCPP_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/utf8cpp"
)
vcpkg_cmake_build()
vcpkg_copy_tools(TOOL_NAMES dimbuilder
SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}"
)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")

View File

@ -0,0 +1,16 @@
{
"name": "pdal-dimbuilder",
"version": "2.8.1",
"description": "A tool used by the PDAL build process",
"homepage": "https://pdal.io/",
"license": "BSD-3-Clause",
"supports": "native",
"dependencies": [
"nlohmann-json",
"utfcpp",
{
"name": "vcpkg-cmake",
"host": true
}
]
}

View File

@ -0,0 +1,209 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc65543..5bccbce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -158,12 +158,9 @@ if (WITH_TESTS)
endif()
add_subdirectory(dimbuilder)
add_subdirectory(vendor/arbiter)
-add_subdirectory(vendor/schema-validator)
add_subdirectory(vendor/kazhdan)
add_subdirectory(vendor/lazperf)
-add_subdirectory(vendor/utfcpp)
add_subdirectory(vendor/lepcc)
-add_subdirectory(vendor/h3)
add_subdirectory(tools)
add_subdirectory(apps)
@@ -220,12 +217,13 @@ add_library(PDAL::PDAL ALIAS ${PDAL_LIB_NAME})
+find_package(Eigen3 CONFIG REQUIRED)
+target_link_libraries(${PDAL_LIB_NAME} PRIVATE Eigen3::Eigen)
target_include_directories(${PDAL_LIB_NAME}
SYSTEM BEFORE PRIVATE
- ${PDAL_VENDOR_EIGEN_DIR}
${PDAL_VENDOR_DIR}/kazhdan
- ${PDAL_VENDOR_DIR}/h3/include
)
+target_link_libraries(${PDAL_LIB_NAME} PRIVATE h3::h3)
target_include_directories(${PDAL_LIB_NAME}
PRIVATE
${ROOT_DIR}
@@ -263,6 +261,8 @@ target_link_libraries(${PDAL_LIB_NAME}
${PDAL_LIBDIR}
${WINSOCK_LIBRARY}
)
+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}
target_compile_definitions(${PDAL_LIB_NAME}
PRIVATE
- H3_PREFIX=PDALH3)
+)
if(WIN32)
target_compile_definitions(${PDAL_LIB_NAME}
diff --git a/cmake/gdal.cmake b/cmake/gdal.cmake
index 5f68579..a407c60 100644
--- a/cmake/gdal.cmake
+++ b/cmake/gdal.cmake
@@ -12,7 +12,8 @@ function(gdal_find_version _version)
set(${_version} ${MAJOR}.${MINOR}.${REV} PARENT_SCOPE)
endfunction(gdal_find_version)
-find_package(GDAL 3.4 REQUIRED)
+find_package(GDAL CONFIG REQUIRED)
+set(GDAL_LIBRARY GDAL::GDAL)
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
+++ b/cmake/h3.cmake
@@ -2,5 +2,6 @@
# H3 configuration.
#
-set(PDAL_H3_LIB_NAME pdal_h3)
+find_package(h3 CONFIG REQUIRED)
+set(PDAL_H3_LIB_NAME h3::h3)
diff --git a/cmake/schema-validator.cmake b/cmake/schema-validator.cmake
index 1f9f996..aeb598c 100644
--- a/cmake/schema-validator.cmake
+++ b/cmake/schema-validator.cmake
@@ -1,5 +1,5 @@
#
# N Lohmann JSON schema validator handler
#
-include(${PDAL_CMAKE_DIR}/nlohmann.cmake)
-set(JSON_SCHEMA_LIB_NAME pdal_json_schema)
+find_package(nlohmann_json_schema_validator CONFIG REQUIRED)
+set(JSON_SCHEMA_LIB_NAME nlohmann_json_schema_validator::validator)
diff --git a/cmake/utfcpp.cmake b/cmake/utfcpp.cmake
index 6543ff6..dc6fac8 100644
--- a/cmake/utfcpp.cmake
+++ b/cmake/utfcpp.cmake
@@ -1,6 +1,7 @@
#
# UTF CPP
#
-set(UTFCPP_INCLUDE_DIR ${PDAL_VENDOR_DIR}/utfcpp/source)
+find_package(utf8cpp CONFIG REQUIRED)
+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 <string>
#include <vector>
-#include <h3api.h>
+#include <h3/h3api.h>
+#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
+++ b/pdal/JsonFwd.hpp
@@ -1,3 +1,4 @@
+#include <nlohmann/json_fwd.hpp>
#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_
diff --git a/pdal/private/KDImpl.hpp b/pdal/private/KDImpl.hpp
index 473ffba..a69431f 100644
--- a/pdal/private/KDImpl.hpp
+++ b/pdal/private/KDImpl.hpp
@@ -34,7 +34,8 @@
#pragma once
-#include <nanoflann/nanoflann.hpp>
+#include <nanoflann.hpp>
+#define SearchParams SearchParameters
namespace pdal
{
@@ -116,7 +117,7 @@ public:
PointIdList radius(double const& x, double const& y, double const& r) const
{
PointIdList output;
- std::vector<std::pair<std::size_t, double>> ret_matches;
+ std::vector<nanoflann::ResultItem<std::size_t, double>> ret_matches;
nanoflann::SearchParams params;
params.sorted = true;
@@ -247,7 +248,7 @@ public:
PointIdList radius(double x, double y, double z, double r) const
{
PointIdList output;
- std::vector<std::pair<std::size_t, double>> ret_matches;
+ std::vector<nanoflann::ResultItem<std::size_t, double>> ret_matches;
nanoflann::SearchParams params;
params.sorted = true;
@@ -330,7 +331,7 @@ public:
PointIdList radius(PointId idx, double r) const
{
PointIdList output;
- std::vector<std::pair<std::size_t, double>> ret_matches;
+ std::vector<nanoflann::ResultItem<std::size_t, double>> ret_matches;
nanoflann::SearchParams params;
params.sorted = true;
diff --git a/tools/lasdump/CMakeLists.txt b/tools/lasdump/CMakeLists.txt
index b15d595..a452d14 100644
--- a/tools/lasdump/CMakeLists.txt
+++ b/tools/lasdump/CMakeLists.txt
@@ -10,6 +10,7 @@ add_executable(lasdump
)
target_link_libraries(lasdump PRIVATE
+ ${UTFCPP_LIB_NAME}
${PDAL_LAZPERF_LIB_NAME}
)
target_include_directories(lasdump PRIVATE

View File

@ -0,0 +1,11 @@
diff --git a/dimbuilder/CMakeLists.txt b/dimbuilder/CMakeLists.txt
index 99109b7..fa2355d 100644
--- a/dimbuilder/CMakeLists.txt
+++ b/dimbuilder/CMakeLists.txt
@@ -1,3 +1,6 @@
+add_executable(dimbuilder IMPORTED GLOBAL)
+set_target_properties(dimbuilder PROPERTIES IMPORTED_LOCATION "${DIMBUILDER_EXECUTABLE}")
+return()
#
# The seemingly strange arrangement of this cmake file allows you to build
# this application as a standalone.

View File

@ -1,11 +1,12 @@
diff --git a/cmake/libraries.cmake b/cmake/libraries.cmake
index 665bc53..fcdcf2c 100644
index 6847cf6..47e9748 100644
--- a/cmake/libraries.cmake
+++ b/cmake/libraries.cmake
@@ -1,6 +1,3 @@
# Build shared libraries by default.
@@ -2,7 +2,6 @@
set(PDAL_LIB_TYPE "SHARED")
-if (WIN32)
if (WIN32)
- set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_IMPORT_LIBRARY_SUFFIX})
-endif()
endif()

View File

@ -1,111 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d13d417..011608d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -269,7 +269,7 @@ target_link_libraries(${PDAL_BASE_LIB_NAME}
PRIVATE
${CMAKE_THREAD_LIBS_INIT}
${CMAKE_DL_LIBS}
- ${GDAL_LIBRARY}
+ ${GDAL_LIBRARIES}
${GEOTIFF_LIBRARY}
${LIBXML2_LIBRARIES}
${ZLIB_LIBRARIES}
diff --git a/cmake/zstd.cmake b/cmake/zstd.cmake
index dfe3dc0..42a78d6 100644
--- a/cmake/zstd.cmake
+++ b/cmake/zstd.cmake
@@ -4,7 +4,14 @@
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 "")
+ if(TARGET zstd::libzstd_static)
+ set(ZSTD_LIBRARIES zstd::libzstd_static)
+ set(ZSTD_STATIC_LIB zstd::libzstd_static)
+ else()
+ set(ZSTD_LIBRARIES zstd::libzstd_shared)
+ endif()
set_package_properties(ZSTD PROPERTIES TYPE
PURPOSE "General compression support")
if (ZSTD_FOUND)
diff --git a/pdal/private/KDImpl.hpp b/pdal/private/KDImpl.hpp
index 473ffba..db6a7b0 100644
--- a/pdal/private/KDImpl.hpp
+++ b/pdal/private/KDImpl.hpp
@@ -97,7 +97,7 @@ public:
resultSet.init(&output[0], &out_dist_sqr[0]);
std::array<double, 2> pt { x, y };
- m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParams(10));
+ m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParameters(10));
return output;
}
@@ -110,14 +110,14 @@ public:
resultSet.init(&indices->front(), &sqr_dists->front());
std::array<double, 2> pt { x, y };
- m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParams(10));
+ m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParameters(10));
}
PointIdList radius(double const& x, double const& y, double const& r) const
{
PointIdList output;
- std::vector<std::pair<std::size_t, double>> ret_matches;
- nanoflann::SearchParams params;
+ std::vector<nanoflann::ResultItem<std::size_t, double>> ret_matches;
+ nanoflann::SearchParameters params;
params.sorted = true;
std::array<double, 2> pt { x, y };
@@ -217,7 +217,7 @@ public:
// neighbor at the given stride.
nanoflann::KNNResultSet<double, PointId, point_count_t> resultSet(k2);
resultSet.init(&output[0], &out_dist_sqr[0]);
- m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParams());
+ m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParameters());
// Perform the downsampling if a stride is provided.
if (stride > 1)
@@ -241,14 +241,14 @@ public:
pt.push_back(x);
pt.push_back(y);
pt.push_back(z);
- m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParams(10));
+ m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParameters(10));
}
PointIdList radius(double x, double y, double z, double r) const
{
PointIdList output;
- std::vector<std::pair<std::size_t, double>> ret_matches;
- nanoflann::SearchParams params;
+ std::vector<nanoflann::ResultItem<std::size_t, double>> ret_matches;
+ nanoflann::SearchParameters params;
params.sorted = true;
std::vector<double> pt { x, y, z };
@@ -315,7 +315,7 @@ public:
// neighbor at the given stride.
nanoflann::KNNResultSet<double, PointId, point_count_t> resultSet(k2);
resultSet.init(&output[0], &out_dist_sqr[0]);
- m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParams());
+ m_index.findNeighbors(resultSet, &pt[0], nanoflann::SearchParameters());
// Perform the downsampling if a stride is provided.
if (stride > 1)
@@ -330,8 +330,8 @@ public:
PointIdList radius(PointId idx, double r) const
{
PointIdList output;
- std::vector<std::pair<std::size_t, double>> ret_matches;
- nanoflann::SearchParams params;
+ std::vector<nanoflann::ResultItem<std::size_t, double>> ret_matches;
+ nanoflann::SearchParameters params;
params.sorted = true;
std::vector<double> pt;

View File

@ -1,12 +0,0 @@
diff --git a/plugins/e57/libE57Format/include/E57Format.h b/plugins/e57/libE57Format/include/E57Format.h
index 267d8c77bb..89d2b36a09 100644
--- a/plugins/e57/libE57Format/include/E57Format.h
+++ b/plugins/e57/libE57Format/include/E57Format.h
@@ -31,6 +31,7 @@
//! @file E57Format.h header file for the E57 API
+#include <cstdint>
#include <cfloat>
#include <memory>
#include <vector>

View File

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1705a8426..d13d41786 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -192,7 +192,7 @@ add_subdirectory(apps)
# so that users only need link libpdalcpp.
#
if (APPLE)
- set(PDAL_REEXPORT "-Wl,-reexport_library,$<TARGET_FILE:${PDAL_UTIL_LIB_NAME}>")
+ set(PDAL_REEXPORT "-Wl$<COMMA>-reexport_library$<COMMA>$<TARGET_FILE:${PDAL_UTIL_LIB_NAME}>")
#
# This allows the rpath reference for the reexported library (above) to
# be found.

View File

@ -1,22 +0,0 @@
diff --git a/pdal/Geometry.cpp b/pdal/Geometry.cpp
index 608bf86..8b010d3 100644
--- a/pdal/Geometry.cpp
+++ b/pdal/Geometry.cpp
@@ -153,7 +153,7 @@ Geometry& Geometry::operator=(const Geometry& input)
bool Geometry::srsValid() const
{
- OGRSpatialReference *srs = m_geom->getSpatialReference();
+ const OGRSpatialReference *srs = m_geom->getSpatialReference();
return srs && srs->GetRoot();
}
@@ -172,7 +172,7 @@ Utils::StatusWithReason Geometry::transform(SpatialReference out)
return StatusWithReason(-2,
"Geometry::transform() failed. NULL target SRS.");
- OGRSpatialReference *inSrs = m_geom->getSpatialReference();
+ const OGRSpatialReference *inSrs = m_geom->getSpatialReference();
SrsTransform transform(*inSrs, OGRSpatialReference(out.getWKT().data()));
if (m_geom->transform(transform.get()) != OGRERR_NONE)
return StatusWithReason(-1, "Geometry::transform() failed.");

View File

@ -1,10 +0,0 @@
diff --git a/dimbuilder/CMakeLists.txt b/dimbuilder/CMakeLists.txt
index 615e2e9..db44505 100644
--- a/dimbuilder/CMakeLists.txt
+++ b/dimbuilder/CMakeLists.txt
@@ -39,3 +39,5 @@ target_link_libraries(dimbuilder
if (MSVC)
target_link_options(dimbuilder PRIVATE /SUBSYSTEM:CONSOLE /ENTRY:mainCRTStartup)
endif(MSVC)
+
+install(TARGETS dimbuilder)

View File

@ -1,13 +0,0 @@
diff --git a/io/OptechReader.cpp b/io/OptechReader.cpp
index bd12e70..2b7846b 100644
--- a/io/OptechReader.cpp
+++ b/io/OptechReader.cpp
@@ -60,7 +60,7 @@ std::string OptechReader::getName() const
return s_info.name;
}
-#ifndef _WIN32
+#ifndef _MSC_VER
const size_t OptechReader::MaximumNumberOfReturns;
const size_t OptechReader::MaxNumRecordsInBuffer;
const size_t OptechReader::NumBytesInRecord;

View File

@ -1,12 +0,0 @@
diff --git a/apps/pdal.pc.in b/apps/pdal.pc.in
index 6885221..cd2136c 100644
--- a/apps/pdal.pc.in
+++ b/apps/pdal.pc.in
@@ -5,7 +5,6 @@ includedir=@CMAKE_INSTALL_PREFIX@/include
Name: PDAL
Description: Point Data Abstraction Library
-Requires: @PKGCONFIG_LIBRARY_DEFINITIONS@
Version: @PDAL_VERSION@
Libs: -L${libdir} -l@PDAL_LIB_NAME@
Cflags: -I${includedir}/pdal @PDAL_CONFIG_DEFINITIONS@

View File

@ -4,37 +4,36 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO PDAL/PDAL
REF "${VERSION}"
SHA512 cefc610682f8dafd5c186ed612edc2db904690c3a53d5111ece0965d197053b064bd8cbd9adab293c47ec1894949b5e33623b0f0e6b6cad35617a20f0039bd79
#[[
Attention: pdal-dimbuilder must be updated together with pdal
#]]
SHA512 1f9c4383fdbd4e10ef0b30b7148386692f8bd5f19b57a0323d92f2dc55a14fbc6a0d4d60c16c9604cbd3837c0ae8e3c88baebdefd534273952f92f01c5703554
HEAD_REF master
PATCHES
fix-dependency.patch
fix-unix-compiler-options.patch
fix-find-library-suffix.patch
no-pkgconfig-requires.patch
dependencies.diff
external-dimbuilder.diff
find-library-suffix.diff
no-rpath.patch
fix-gcc-13-build.patch #upstream PR: https://github.com/PDAL/PDAL/pull/4039
gdal-3.7.patch
mingw.patch
install-dimbuilder.patch
)
# Prefer pristine CMake find modules + wrappers and config files from vcpkg.
foreach(package IN ITEMS Curl GeoTIFF ICONV ZSTD)
file(REMOVE "${SOURCE_PATH}/cmake/modules/Find${package}.cmake")
endforeach()
# De-vendoring
file(REMOVE_RECURSE
"${SOURCE_PATH}/cmake/modules/FindCURL.cmake"
"${SOURCE_PATH}/cmake/modules/FindGeoTIFF.cmake"
"${SOURCE_PATH}/cmake/modules/FindICONV.cmake"
"${SOURCE_PATH}/cmake/modules/FindZSTD.cmake"
"${SOURCE_PATH}/vendor/eigen"
"${SOURCE_PATH}/vendor/h3"
"${SOURCE_PATH}/vendor/nanoflann"
"${SOURCE_PATH}/vendor/nlohmann"
"${SOURCE_PATH}/pdal/JsonFwd.hpp"
"${SOURCE_PATH}/vendor/schema-validator"
"${SOURCE_PATH}/vendor/utfcpp"
)
file(INSTALL "${CURRENT_INSTALLED_DIR}/include/nanoflann.hpp" DESTINATION "${SOURCE_PATH}/vendor/nanoflann")
file(INSTALL "${CURRENT_INSTALLED_DIR}/include/nlohmann/json.hpp" DESTINATION "${SOURCE_PATH}/vendor/nlohmann/nlohmann")
file(APPEND "${SOURCE_PATH}/vendor/nlohmann/nlohmann/json.hpp" "namespace NL = nlohmann;\n")
file(INSTALL "${CURRENT_INSTALLED_DIR}/include/nlohmann/json_fwd.hpp" DESTINATION "${SOURCE_PATH}/pdal")
file(RENAME "${SOURCE_PATH}/pdal/json_fwd.hpp" "${SOURCE_PATH}/pdal/JsonFwd.hpp")
file(APPEND "${SOURCE_PATH}/pdal/JsonFwd.hpp" "namespace NL = nlohmann;\n")
# 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")
file(APPEND "${SOURCE_PATH}/vendor/nlohmann/nlohmann/json_fwd.hpp" "\nnamespace NL = nlohmann;\n")
file(WRITE "${SOURCE_PATH}/pdal/JsonFwd.hpp" "/* vcpkg redacted */\n#include <nlohmann/json_fwd.hpp>\nnamespace NL = nlohmann;\n")
file(MAKE_DIRECTORY "${SOURCE_PATH}/vendor/nlohmann/schema-validator")
file(WRITE "${SOURCE_PATH}/vendor/nlohmann/schema-validator/json-schema.hpp" "/* vcpkg redacted */\n#include <nlohmann/json-schema.hpp>\n")
unset(ENV{OSGEO4W_HOME})
@ -43,31 +42,22 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
draco BUILD_PLUGIN_DRACO
e57 BUILD_PLUGIN_E57
hdf5 BUILD_PLUGIN_HDF
i3s BUILD_PLUGIN_I3S
lzma WITH_LZMA
pgpointcloud BUILD_PLUGIN_PGPOINTCLOUD
zstd WITH_ZSTD
)
if(VCPKG_CROSSCOMPILING)
set(DIMBUILDER_EXECUTABLE "-DDIMBUILDER_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/pdal/dimbuilder${VCPKG_HOST_EXECUTABLE_SUFFIX}")
endif()
vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
"-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake"
"-DDIMBUILDER_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/manual-tools/pdal-dimbuilder/dimbuilder${VCPKG_HOST_EXECUTABLE_SUFFIX}"
-DPDAL_PLUGIN_INSTALL_PATH=.
"-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
-DWITH_TESTS:BOOL=OFF
-DWITH_COMPLETION:BOOL=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Libexecinfo:BOOL=ON
-DCMAKE_DISABLE_FIND_PACKAGE_Libunwind:BOOL=ON
${FEATURE_OPTIONS}
${DIMBUILDER_EXECUTABLE}
MAYBE_UNUSED_VARIABLES
PKG_CONFIG_EXECUTABLE
)
vcpkg_cmake_install()
@ -84,7 +74,7 @@ file(GLOB pdal_unsupported
"${CURRENT_PACKAGES_DIR}/debug/bin/pdal-config"
)
file(REMOVE ${pdal_unsupported})
vcpkg_copy_tools(TOOL_NAMES pdal dimbuilder AUTO_CLEAN)
vcpkg_copy_tools(TOOL_NAMES pdal AUTO_CLEAN)
# Post-install clean-up
file(REMOVE_RECURSE
@ -96,37 +86,28 @@ file(REMOVE_RECURSE
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(READ "${SOURCE_PATH}/LICENSE.txt" pdal_license)
file(READ "${SOURCE_PATH}/vendor/arbiter/LICENSE" arbiter_license)
file(READ "${SOURCE_PATH}/vendor/kazhdan/PoissonRecon.h" kazhdan_license)
string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" kazhdan_license "${kazhdan_license}")
file(READ "${SOURCE_PATH}/vendor/lazperf/lazperf.hpp" lazperf_license)
string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" lazperf_license "${lazperf_license}")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright"
"${pdal_license}
---
set(arbiter_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/arbiter LICENSE")
file(COPY_FILE "${SOURCE_PATH}/vendor/arbiter/LICENSE" "${arbiter_license}")
Files in vendor/arbiter/:
set(kazhdan_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/kazhdan license (PoissonRecon.h)")
file(READ "${SOURCE_PATH}/vendor/kazhdan/PoissonRecon.h" license)
string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}")
file(WRITE "${kazhdan_license}" "${license}")
${arbiter_license}
---
set(lazperf_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lazperf license (lazperf.hpp)")
file(READ "${SOURCE_PATH}/vendor/lazperf/lazperf.hpp" license)
string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}")
file(WRITE "${lazperf_license}" "${license}")
Files in vendor/kazhdan/:
set(lepcc_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/LEPCC license (LEPCC.h)")
file(READ "${SOURCE_PATH}/vendor/lepcc/src/LEPCC.h" license)
string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}")
file(WRITE "${lepcc_license}" "${license}")
${kazhdan_license}
---
Files in vendor/lazperf/:
${lazperf_license}
---
Files in vendor/eigen:
Most Eigen source code is subject to the terms of the Mozilla Public License
v. 2.0. You can obtain a copy the MPL 2.0 at http://mozilla.org/MPL/2.0/.
Some files included in Eigen are under one of the following licenses:
- Apache License, Version 2.0
- BSD 3-Clause \"New\" or \"Revised\" License
")
vcpkg_install_copyright(FILE_LIST
"${SOURCE_PATH}/LICENSE.txt"
"${arbiter_license}"
"${kazhdan_license}"
"${lazperf_license}"
"${lepcc_license}"
)

View File

@ -1,9 +1,8 @@
The package pdal provides CMake variables:
pdal provides CMake targets:
find_package(PDAL CONFIG REQUIRED)
target_include_directories(main PRIVATE ${PDAL_INCLUDE_DIRS})
target_link_libraries(main PRIVATE ${PDAL_LIBRARIES})
target_link_libraries(main PRIVATE $<TARGET_NAME:pdalcpp>)
If necessary, override the default plugin search path by setting the
environment variable PDAL_DRIVER_PATH to a list of directories that
pdal should search for plugins.
PDAL should search for plugins.

View File

@ -1,20 +1,21 @@
{
"name": "pdal",
"version": "2.5.3",
"port-version": 3,
"version": "2.8.1",
"description": "PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.",
"homepage": "https://pdal.io/",
"license": null,
"supports": "!(windows & staticcrt)",
"dependencies": [
{
"name": "curl",
"default-features": false
},
"eigen3",
{
"name": "gdal",
"default-features": false
},
"h3",
"json-schema-validator",
"libgeotiff",
{
"name": "libxml2",
@ -25,10 +26,10 @@
"nanoflann",
"nlohmann-json",
{
"name": "pdal",
"host": true,
"default-features": false
"name": "pdal-dimbuilder",
"host": true
},
"utfcpp",
{
"name": "vcpkg-cmake",
"host": true
@ -36,7 +37,8 @@
{
"name": "vcpkg-cmake-config",
"host": true
}
},
"zlib"
],
"default-features": [
"supported-plugins"
@ -63,12 +65,6 @@
}
]
},
"i3s": {
"description": "Build the SLPK/I3S plugins",
"dependencies": [
"zlib"
]
},
"liblzma": {
"description": "Support for compression/decompression with LZMA",
"dependencies": [
@ -78,7 +74,10 @@
"pgpointcloud": {
"description": "Build the PgPointCloud plugin",
"dependencies": [
"libpq"
{
"name": "libpq",
"default-features": false
}
]
},
"supported-plugins": {
@ -89,8 +88,7 @@
"default-features": false,
"features": [
"draco",
"e57",
"i3s"
"e57"
]
},
{

View File

@ -864,6 +864,7 @@ pcl:x64-android=fail
pdal:arm-neon-android=fail
pdal:arm64-android=fail
pdal:x64-android=fail
pdal:x64-windows-static=fail # ONLY_DYNAMIC_LIBRARY
pixman:arm-neon-android=fail
platform-folders:arm64-uwp=fail
platform-folders:x64-uwp=fail

View File

@ -6909,13 +6909,17 @@
"port-version": 0
},
"pdal": {
"baseline": "2.5.3",
"port-version": 3
"baseline": "2.8.1",
"port-version": 0
},
"pdal-c": {
"baseline": "2.2.0",
"port-version": 0
},
"pdal-dimbuilder": {
"baseline": "2.8.1",
"port-version": 0
},
"pdcurses": {
"baseline": "3.9",
"port-version": 6

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "585539caac69de6a9c8b9e13c69f614126bac008",
"version": "2.8.1",
"port-version": 0
}
]
}

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "d05e42385481a0708b329e583cc70f8ee102305f",
"version": "2.8.1",
"port-version": 0
},
{
"git-tree": "91391b35fb1af3810e79110564bcf6e668dd9194",
"version": "2.5.3",