From 6d019cadf72698d98d82d8acf502d297cdc38305 Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Tue, 23 Jul 2019 08:43:10 +0800 Subject: [PATCH] [liblas] Add new port (#6746) * [liblas] Add new port * [liblas] Remove useless commands * [liblas] Remove empty directory * fix cmake targets * build options off * update patch --- ports/liblas/CONTROL | 12 ++++++++ ports/liblas/fix-BuildError.patch | 47 ++++++++++++++++++++++++++++++ ports/liblas/portfile.cmake | 48 +++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 ports/liblas/CONTROL create mode 100644 ports/liblas/fix-BuildError.patch create mode 100644 ports/liblas/portfile.cmake diff --git a/ports/liblas/CONTROL b/ports/liblas/CONTROL new file mode 100644 index 000000000..4b983c937 --- /dev/null +++ b/ports/liblas/CONTROL @@ -0,0 +1,12 @@ +Source: liblas +Version: 1.8.1 +Build-Depends: boost, boost-thread, boost-system, boost-iostreams, boost-filesystem, libgeotiff +Description: A C/C++ library for reading and writing the very common LAS LiDAR format. + +Feature: jpeg +Description: Support for jpeg +Build-Depends: libjpeg-turbo + +Feature: zlib +Build-Depends: zlib +Description: Support zlib for compression \ No newline at end of file diff --git a/ports/liblas/fix-BuildError.patch b/ports/liblas/fix-BuildError.patch new file mode 100644 index 000000000..277e81ef7 --- /dev/null +++ b/ports/liblas/fix-BuildError.patch @@ -0,0 +1,47 @@ +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index beb83e2..6f216bd 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -155,7 +152,7 @@ endif() + # Targets installation + + install(TARGETS ${LIBLAS_UTILITIES} +- RUNTIME DESTINATION ${LIBLAS_BIN_DIR} ++ RUNTIME DESTINATION tools + LIBRARY DESTINATION ${LIBLAS_LIB_DIR} + ARCHIVE DESTINATION ${LIBLAS_LIB_DIR}) + +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index c7f583d..ca9e602 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -5,13 +5,8 @@ + # Set where cmake will install liblas-config.cmake. It's installed in + # ${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR} and ${PROJECT_ROOT_DIR} + # is the relative path to the root from there. +-if (NOT WIN32) +- set(INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") +- set (PROJECT_ROOT_DIR "../../..") +-else () +- set(INSTALL_CMAKE_DIR "cmake") +- set (PROJECT_ROOT_DIR "..") +-endif () ++set(INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") ++set (PROJECT_ROOT_DIR "../../..") + + # Now create the liblas-config files using the .in templates + configure_file (liblas-config.cmake.in +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e35de06..f7c25d2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -226,7 +226,8 @@ target_link_libraries(${LIBLAS_LIB_NAME} + ${GEOTIFF_LIBRARY} + ${GDAL_LIBRARY} + ${LASZIP_LIBRARY} +- ${Boost_LIBRARIES}) ++ ${Boost_LIBRARIES} ++ proj) + + target_link_libraries(${LIBLAS_C_LIB_NAME} + ${LIBLAS_LIB_NAME} ) diff --git a/ports/liblas/portfile.cmake b/ports/liblas/portfile.cmake new file mode 100644 index 000000000..0ad91aa0d --- /dev/null +++ b/ports/liblas/portfile.cmake @@ -0,0 +1,48 @@ +include(vcpkg_common_functions) + +set(VERSION 1.8.1) + +vcpkg_download_distfile(ARCHIVE + URLS "http://download.osgeo.org/liblas/libLAS-${VERSION}.tar.bz2" + FILENAME "libLAS-${VERSION}-src.tar.bz2" + SHA512 1cb39c557af0006c54f1100d0d409977fcc1886abd155c1b144d806c47f8675a9f2125d3a9aca16bae65d2aabba84d5e5e322b42085e7db312f3d53f92342acf + HEAD_REF master +) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES fix-BuildError.patch +) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_OSGEO4W=OFF # Disable osgeo4w + -DWITH_TESTS=OFF + -DWITH_UTILITIES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=${CMAKE_DISABLE_FIND_PACKAGE_JPEG} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/share/cmake/liblas/liblas-depends.cmake) + +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/share/cmake/liblas) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/liblas) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblas RENAME copyright)