From 5a9b14c97823c5402c62184246c8a6856da5d224 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Sat, 30 Mar 2019 14:28:53 +0800 Subject: [pdal]fix missing vendor headers (#5846) * [pdal]1.fix missing vendor headers. 2.modify the patch name and add the serial number. --- ports/pdal/0002-no-source-dir-writes.patch | 49 +++++++++++++++++++++++++++++ ports/pdal/0003-fix-copy-vendor.patch | 50 ++++++++++++++++++++++++++++++ ports/pdal/CONTROL | 2 +- ports/pdal/no-source-dir-writes.patch | 49 ----------------------------- ports/pdal/portfile.cmake | 12 +++---- 5 files changed, 106 insertions(+), 56 deletions(-) create mode 100644 ports/pdal/0002-no-source-dir-writes.patch create mode 100644 ports/pdal/0003-fix-copy-vendor.patch delete mode 100644 ports/pdal/no-source-dir-writes.patch diff --git a/ports/pdal/0002-no-source-dir-writes.patch b/ports/pdal/0002-no-source-dir-writes.patch new file mode 100644 index 000000000..f7ec12f6b --- /dev/null +++ b/ports/pdal/0002-no-source-dir-writes.patch @@ -0,0 +1,49 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc146d1..9b82544 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -140,7 +140,7 @@ get_git_head_revision(GIT_REFSPEC GIT_SHA1) + + configure_file( + "${PROJECT_SOURCE_DIR}/gitsha.cpp.in" +- "${PROJECT_SOURCE_DIR}/pdal/gitsha.cpp") ++ "${PROJECT_BINARY_DIR}/pdal/gitsha.cpp") + + # needs to come before configuration of pdal_features + if(APPLE) +@@ -201,6 +201,7 @@ file(GLOB BASE_SRCS + ${PDAL_IO_DIR}/*.cpp + ${PDAL_KERNELS_DIR}/*.cpp + ${PDAL_SRC_DIR}/*.cpp ++ ${PROJECT_BINARY_DIR}/pdal/gitsha.cpp + ${PDAL_SRC_DIR}/compression/*.cpp) + file(GLOB_RECURSE PRIVATE_SRCS + ${PDAL_FILTERS_DIR}/private/*.cpp +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index b02aa4a..d60b041 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -66,9 +66,9 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc + if(UNIX OR APPLE) + # Autoconf compatibility variables to use the same script source. + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in" +- "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" @ONLY) ++ "${CMAKE_CURRENT_BINARY_DIR}/pdal-config" @ONLY) + +- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" ++ file(COPY "${CMAKE_CURRENT_BINARY_DIR}/pdal-config" + DESTINATION + "${PDAL_OUTPUT_BIN_DIR}/" + FILE_PERMISSIONS +@@ -85,9 +85,9 @@ if(UNIX OR APPLE) + elseif(WIN32) + # Autoconf compatibility variables to use the same script source. + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config-bat.in" +- "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.bat" @ONLY) ++ "${CMAKE_CURRENT_BINARY_DIR}/pdal-config.bat" @ONLY) + +- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.bat" ++ file(COPY "${CMAKE_CURRENT_BINARY_DIR}/pdal-config.bat" + DESTINATION + "${PDAL_OUTPUT_BIN_DIR}/" + FILE_PERMISSIONS diff --git a/ports/pdal/0003-fix-copy-vendor.patch b/ports/pdal/0003-fix-copy-vendor.patch new file mode 100644 index 000000000..a29ad9018 --- /dev/null +++ b/ports/pdal/0003-fix-copy-vendor.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 43e446a..c4c7d6f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -339,6 +339,30 @@ install(DIRECTORY ${PDAL_FILTERS_DIR} + install(FILES ${DIMENSION_OUTFILE} ${pdal_features_hpp} + DESTINATION include/pdal + ) ++# Install vendor headers ++install(DIRECTORY ${PDAL_VENDOR_ARBITER_DIR} ++ DESTINATION include/pdal/vendor ++ FILES_MATCHING PATTERN "*.hpp" ++ PATTERN "private" EXCLUDE ++) ++ ++install(DIRECTORY ${PDAL_VENDOR_JSONCPP_DIR} ++ DESTINATION include/pdal/vendor ++ FILES_MATCHING PATTERN "*.h" ++ PATTERN "private" EXCLUDE ++) ++ ++install(DIRECTORY ${PDAL_VENDOR_KAZHDAN_DIR} ++ DESTINATION include/pdal/vendor ++ FILES_MATCHING PATTERN "*.h" ++ PATTERN "private" EXCLUDE ++) ++ ++install(DIRECTORY ${PDAL_VENDOR_NANOFLANN_DIR} ++ DESTINATION include/pdal/vendor ++ FILES_MATCHING PATTERN "*.hpp" ++ PATTERN "private" EXCLUDE ++) + + # + # CPACK +diff --git a/cmake/directories.cmake b/cmake/directories.cmake +index f079ec7..8e366e8 100644 +--- a/cmake/directories.cmake ++++ b/cmake/directories.cmake +@@ -11,4 +11,7 @@ set(PDAL_KERNELS_DIR ${ROOT_DIR}/kernels) + set(PDAL_FILTERS_DIR ${ROOT_DIR}/filters) + set(PDAL_IO_DIR ${ROOT_DIR}/io) + set(PDAL_VENDOR_DIR ${ROOT_DIR}/vendor) +- ++set(PDAL_VENDOR_ARBITER_DIR ${PDAL_VENDOR_DIR}/arbiter) ++set(PDAL_VENDOR_JSONCPP_DIR ${PDAL_VENDOR_DIR}/jsoncpp) ++set(PDAL_VENDOR_KAZHDAN_DIR ${PDAL_VENDOR_DIR}/kazhdan) ++set(PDAL_VENDOR_NANOFLANN_DIR ${PDAL_VENDOR_DIR}/nanoflann) + +\ No newline at end of file diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL index ebb658c90..743f77c8e 100644 --- a/ports/pdal/CONTROL +++ b/ports/pdal/CONTROL @@ -1,4 +1,4 @@ Source: pdal -Version: 1.7.1-3 +Version: 1.7.1-4 Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data. Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip diff --git a/ports/pdal/no-source-dir-writes.patch b/ports/pdal/no-source-dir-writes.patch deleted file mode 100644 index f7ec12f6b..000000000 --- a/ports/pdal/no-source-dir-writes.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dc146d1..9b82544 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -140,7 +140,7 @@ get_git_head_revision(GIT_REFSPEC GIT_SHA1) - - configure_file( - "${PROJECT_SOURCE_DIR}/gitsha.cpp.in" -- "${PROJECT_SOURCE_DIR}/pdal/gitsha.cpp") -+ "${PROJECT_BINARY_DIR}/pdal/gitsha.cpp") - - # needs to come before configuration of pdal_features - if(APPLE) -@@ -201,6 +201,7 @@ file(GLOB BASE_SRCS - ${PDAL_IO_DIR}/*.cpp - ${PDAL_KERNELS_DIR}/*.cpp - ${PDAL_SRC_DIR}/*.cpp -+ ${PROJECT_BINARY_DIR}/pdal/gitsha.cpp - ${PDAL_SRC_DIR}/compression/*.cpp) - file(GLOB_RECURSE PRIVATE_SRCS - ${PDAL_FILTERS_DIR}/private/*.cpp -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index b02aa4a..d60b041 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -66,9 +66,9 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc - if(UNIX OR APPLE) - # Autoconf compatibility variables to use the same script source. - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in" -- "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" @ONLY) -+ "${CMAKE_CURRENT_BINARY_DIR}/pdal-config" @ONLY) - -- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" -+ file(COPY "${CMAKE_CURRENT_BINARY_DIR}/pdal-config" - DESTINATION - "${PDAL_OUTPUT_BIN_DIR}/" - FILE_PERMISSIONS -@@ -85,9 +85,9 @@ if(UNIX OR APPLE) - elseif(WIN32) - # Autoconf compatibility variables to use the same script source. - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config-bat.in" -- "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.bat" @ONLY) -+ "${CMAKE_CURRENT_BINARY_DIR}/pdal-config.bat" @ONLY) - -- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.bat" -+ file(COPY "${CMAKE_CURRENT_BINARY_DIR}/pdal-config.bat" - DESTINATION - "${PDAL_OUTPUT_BIN_DIR}/" - FILE_PERMISSIONS diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index cbcb97ced..6ab78024f 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -2,7 +2,6 @@ # # 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) @@ -11,13 +10,14 @@ vcpkg_download_distfile(ARCHIVE FILENAME "PDAL-${PDAL_VERSION_STR}-src.tar.gz" SHA512 e3e63bb05930c1a28c4f46c7edfaa8e9ea20484f1888d845b660a29a76f1dd1daea3db30a98607be0c2eeb86930ec8bfd0965d5d7d84b07a4fe4cb4512da9b09 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-win32_compiler_options.cmake.patch - ${CMAKE_CURRENT_LIST_DIR}/no-source-dir-writes.patch + 0001-win32_compiler_options.cmake.patch + 0002-no-source-dir-writes.patch + 0003-fix-copy-vendor.patch ) file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") -- cgit v1.2.3