diff options
| author | Mateusz Loskot <mateusz@loskot.net> | 2018-05-18 08:42:45 +0200 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-05-17 23:42:45 -0700 |
| commit | 2978f18ad33b138581d06badae64ad08fdff4653 (patch) | |
| tree | 187ba48352bf6de4b5b3ac57c774525bd66b1831 | |
| parent | 2988f8577b8ee3e977c187401af544e9eae4ff7b (diff) | |
| download | vcpkg-2978f18ad33b138581d06badae64ad08fdff4653.tar.gz vcpkg-2978f18ad33b138581d06badae64ad08fdff4653.zip | |
Add PDAL 1.7.1 (#3452)
* Add PDAL 1.7.1
First stab at porting PDAL (https://pdal.io), creates package:
- with minimal set of required dependencies
- with dynamic library only - dependency GDAL does not build as static
- with pdal executable
* [pdal] Allow building static libs on top of DLLs.
| -rw-r--r-- | ports/pdal/0001-win32_compiler_options.cmake.patch | 14 | ||||
| -rw-r--r-- | ports/pdal/CONTROL | 4 | ||||
| -rw-r--r-- | ports/pdal/FindGDAL.cmake | 13 | ||||
| -rw-r--r-- | ports/pdal/FindGEOS.cmake | 13 | ||||
| -rw-r--r-- | ports/pdal/FindGeoTIFF.cmake | 13 | ||||
| -rw-r--r-- | ports/pdal/portfile.cmake | 79 |
6 files changed, 136 insertions, 0 deletions
diff --git a/ports/pdal/0001-win32_compiler_options.cmake.patch b/ports/pdal/0001-win32_compiler_options.cmake.patch new file mode 100644 index 000000000..8486cc1cd --- /dev/null +++ b/ports/pdal/0001-win32_compiler_options.cmake.patch @@ -0,0 +1,14 @@ +diff -Nuar a/cmake/win32_compiler_options.cmake b/cmake/win32_compiler_options.cmake
+--- a/cmake/win32_compiler_options.cmake 2018-04-06 20:24:17.000000000 +0200
++++ b/cmake/win32_compiler_options.cmake 2018-04-28 19:40:54.534593200 +0200
+@@ -67,10 +67,6 @@
+ endif()
+ endif()
+
+-set(CMAKE_INCLUDE_PATH "c:/OSGeo4W64/include;$ENV{CMAKE_INCLUDE_PATH}")
+-set(CMAKE_LIBRARY_PATH "c:/OSGeo4W64/lib;$ENV{CMAKE_LIBRARY_PATH}")
+-set(CMAKE_PREFIX_PATH "c:/OSGeo4W64/cmake;$ENV{CMAKE_LIBRARY_PATH}")
+-
+ #ABELL (& gadomski) - WHY?
+ set(PDAL_PLATFORM_WIN32 1)
+ set(WINSOCK_LIBRARY ws2_32)
diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL new file mode 100644 index 000000000..3db5c51ac --- /dev/null +++ b/ports/pdal/CONTROL @@ -0,0 +1,4 @@ +Source: pdal
+Version: 1.7.1-1
+Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.
+Build-Depends: gdal, geos, jsoncpp, libgeotiff
diff --git a/ports/pdal/FindGDAL.cmake b/ports/pdal/FindGDAL.cmake new file mode 100644 index 000000000..9683cb0e5 --- /dev/null +++ b/ports/pdal/FindGDAL.cmake @@ -0,0 +1,13 @@ +find_path(GDAL_INCLUDE_DIR gdal.h)
+
+find_library(GDAL_LIBRARY_DEBUG NAMES gdald)
+find_library(GDAL_LIBRARY_RELEASE NAMES gdal)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(GDAL)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ GDAL DEFAULT_MSG
+ GDAL_LIBRARY GDAL_INCLUDE_DIR
+)
diff --git a/ports/pdal/FindGEOS.cmake b/ports/pdal/FindGEOS.cmake new file mode 100644 index 000000000..88d17b073 --- /dev/null +++ b/ports/pdal/FindGEOS.cmake @@ -0,0 +1,13 @@ +find_path(GEOS_INCLUDE_DIR geos_c.h)
+
+find_library(GEOS_LIBRARY_DEBUG NAMES geos_cd)
+find_library(GEOS_LIBRARY_RELEASE NAMES geos_c)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(GEOS)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ GEOS DEFAULT_MSG
+ GEOS_LIBRARY GEOS_INCLUDE_DIR
+)
diff --git a/ports/pdal/FindGeoTIFF.cmake b/ports/pdal/FindGeoTIFF.cmake new file mode 100644 index 000000000..51a5fb2d8 --- /dev/null +++ b/ports/pdal/FindGeoTIFF.cmake @@ -0,0 +1,13 @@ +find_path(GEOTIFF_INCLUDE_DIR geotiff.h)
+
+find_library(GEOTIFF_LIBRARY_DEBUG NAMES geotiff_d)
+find_library(GEOTIFF_LIBRARY_RELEASE NAMES geotiff)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(GEOTIFF)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ GEOTIFF DEFAULT_MSG
+ GEOTIFF_LIBRARY GEOTIFF_INCLUDE_DIR
+)
diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake new file mode 100644 index 000000000..f9b413218 --- /dev/null +++ b/ports/pdal/portfile.cmake @@ -0,0 +1,79 @@ +# vcpkg portfile.cmake for PDAL +# +# NOTE: update the version string for new PDAL release +set(PDAL_VERSION_STR "1.7.1") +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/PDAL-${PDAL_VERSION_STR}-src) + +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "http://download.osgeo.org/pdal/PDAL-${PDAL_VERSION_STR}-src.tar.gz" + FILENAME "PDAL-${PDAL_VERSION_STR}-src.tar.gz" + SHA512 e3e63bb05930c1a28c4f46c7edfaa8e9ea20484f1888d845b660a29a76f1dd1daea3db30a98607be0c2eeb86930ec8bfd0965d5d7d84b07a4fe4cb4512da9b09 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_apply_patches( + SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/PDAL-${PDAL_VERSION_STR}-src + PATCHES + ${CURRENT_PORT_DIR}/0001-win32_compiler_options.cmake.patch +) + +# Deploy custom CMake modules to enforce expected dependencies look-up +foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF) + file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") + file(COPY ${CMAKE_CURRENT_LIST_DIR}/${_module}.cmake + DESTINATION ${SOURCE_PATH}/cmake/modules/ + ) +endforeach() + +# NOTE: CMake native BUILD_SHARED_LIBS option will be set by vcpkg_configure_cmake +# TODO: Remove this as soon as PDAL switches to use BUILD_SHARED_LIBS +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(PDAL_BUILD_STATIC OFF) +else() + set(PDAL_BUILD_STATIC ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DPDAL_BUILD_STATIC:BOOL=${PDAL_BUILD_STATIC} + -DWITH_TESTS:BOOL=OFF + -DWITH_COMPLETION:BOOL=OFF +) + +vcpkg_install_cmake(ADD_BIN_TO_PATH) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/pdal/cmake) +vcpkg_copy_pdbs() + +# Install copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdal RENAME copyright +) + +# Install PDAL executable +file(GLOB _pdal_apps ${CURRENT_PACKAGES_DIR}/bin/*.exe) +file(COPY ${_pdal_apps} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pdal) +file(REMOVE ${_pdal_apps}) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + +# Post-install clean-up +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/lib/pdal + ${CURRENT_PACKAGES_DIR}/debug/lib/pdal + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) +else() + file(GLOB _pdal_bats ${CURRENT_PACKAGES_DIR}/bin/*.bat) + file(REMOVE ${_pdal_bats}) + file(GLOB _pdal_bats ${CURRENT_PACKAGES_DIR}/debug/bin/*.bat) + file(REMOVE ${_pdal_bats}) + file(GLOB _pdal_apps ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + file(REMOVE ${_pdal_apps}) +endif() |
