[libgeotiff] Update to 1.7.0, revise features and config (#21253)

* Update to 1.7.0

* Refresh patches, drop fix-proj4.patch

* Restore GeoTIFF cmake package name (reverts #15750)

* Add usage (reason: #15723)

* Remove zlib dependency, transitive usage only

* Move tools to optional feature

* Modernize portfile, fix copyright

* Don't install doc and man files

* Trim main patch

* Allow reduced tiff dependencies

* Update versions

* Remove libgeotiff uwp failure from CI baseline

* Update GeoTIFF in gdal wrapper

* Update versions

* Update GeoTIFF in pdal config

* Update versions

* Switch to 'version' field

* Update versions
This commit is contained in:
Kai Pastor 2021-11-10 23:54:19 +01:00 committed by GitHub
parent e46b12b825
commit 369878e686
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 125 additions and 210 deletions

View File

@ -85,7 +85,7 @@ if(GDAL_FOUND)
if(NOT WIN32)
_gdal_add_dependency(json-c::json-c json-c CONFIG)
endif()
_gdal_add_dependency(geotiff_library geotiff CONFIG)
_gdal_add_dependency(geotiff_library GeoTIFF CONFIG)
_gdal_add_dependency(JPEG::JPEG JPEG)
_gdal_add_dependency(liblzma::liblzma liblzma CONFIG)
_gdal_add_dependency(png libpng CONFIG)

View File

@ -1,7 +1,7 @@
{
"name": "gdal",
"version-semver": "3.3.2",
"port-version": 3,
"port-version": 4,
"description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data",
"homepage": "https://gdal.org",
"supports": "!arm",

View File

@ -1,49 +1,7 @@
diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt
index 43113fa..46331ad 100644
--- a/libgeotiff/CMakeLists.txt
+++ b/libgeotiff/CMakeLists.txt
@@ -172,6 +172,7 @@ IF(WITH_TIFF)
endif ()
IF(TIFF_FOUND)
+ IF (0)
# Confirm required API is available
INCLUDE(CheckFunctionExists)
SET(CMAKE_REQUIRED_LIBRARIES ${TIFF_LIBRARIES})
@@ -187,6 +188,7 @@ IF(WITH_TIFF)
SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFMergeFieldInfo function not found. libtiff 3.6.0 Beta or later required. Please upgrade or use an older version of libgeotiff")
ENDIF()
+ ENDIF()
INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
ADD_DEFINITIONS(-DHAVE_TIFF=1)
@@ -298,11 +300,6 @@ INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1)
# INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION include)
-###############################################################################
-# Build libxtiff library
-
-ADD_SUBDIRECTORY(libxtiff)
-
###############################################################################
# Build libgeotiff library
diff --git a/libgeotiff/bin/CMakeLists.txt b/libgeotiff/bin/CMakeLists.txt
index 7b12341..b6b1d0c 100644
--- a/libgeotiff/bin/CMakeLists.txt
+++ b/libgeotiff/bin/CMakeLists.txt
@@ -6,9 +6,6 @@
#
###############################################################################
-INCLUDE_DIRECTORIES(
- .
- ${CMAKE_SOURCE_DIR})
IF(WIN32 AND MSVC)
SET(GETOPT_SOURCE getopt.c)
@@ -22,12 +19,11 @@ MESSAGE(STATUS "Adding GeoTIFF utilities to build")
FOREACH(utility ${GEOTIFF_UTILITIES})
@ -75,7 +33,7 @@ index 47a2b00..3809ba3 100644
set (PROJECT_ROOT_DIR "..")
endif ()
+else()
+ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME_LOWER}")
+ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME}")
+ set (PROJECT_ROOT_DIR "../..")
+endif()

View File

@ -1,21 +0,0 @@
diff --git a/libgeotiff/cmake/project-config-version.cmake.in b/libgeotiff/cmake/project-config-version.cmake.in
index d695aa2..efe32ba 100644
--- a/libgeotiff/cmake/project-config-version.cmake.in
+++ b/libgeotiff/cmake/project-config-version.cmake.in
@@ -5,14 +5,14 @@ set (PACKAGE_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@")
set (PACKAGE_VERSION_MINOR "@PROJECT_VERSION_MINOR@")
set (PACKAGE_VERSION_PATCH "@PROJECT_VERSION_PATCH@")
-if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME@")
+if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME_LOWER@")
# Check package name (in particular, because of the way cmake finds
# package config files, the capitalization could easily be "wrong").
# This is necessary to ensure that the automatically generated
# variables, e.g., <package>_FOUND, are consistently spelled. Make
# this a WARNING, because this is a user error that needs to be fixed.
message (WARNING
- "Mismatched package names: use find_package(@PROJECT_NAME@ ...) instead"
+ "Mismatched package names: use find_package(@PROJECT_NAME_LOWER@ ...) instead"
" of find_package(${PACKAGE_FIND_NAME} ...)")
set (PACKAGE_VERSION_UNSUITABLE TRUE)
elseif (NOT (APPLE OR CMAKE_SIZEOF_VOID_P EQUAL @CMAKE_SIZEOF_VOID_P@))

View File

@ -1,32 +0,0 @@
diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt
index 46331ad..80fe121 100644
--- a/libgeotiff/CMakeLists.txt
+++ b/libgeotiff/CMakeLists.txt
@@ -122,13 +122,14 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/libxtiff)
# TIFF support - required, default=ON
SET(WITH_TIFF TRUE CACHE BOOL "Choose if TIFF support should be built")
-FIND_PACKAGE(PROJ NO_MODULE QUIET)
-if (NOT PROJ_FOUND)
+FIND_PACKAGE(PROJ4 CONFIG REQUIRED)
+if (NOT PROJ4_FOUND)
FIND_PACKAGE(PROJ)
endif ()
-IF(PROJ_FOUND)
- INCLUDE_DIRECTORIES(${PROJ_INCLUDE_DIR})
+IF(PROJ4_FOUND)
+ INCLUDE_DIRECTORIES(${PROJ4_INCLUDE_DIRS})
+ ADD_DEFINITIONS(-DHAVE_LIBPROJ=1 -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1)
ELSE()
MESSAGE(FATAL_ERROR "Failed to detect PROJ >= 6")
ENDIF()
@@ -361,7 +362,7 @@ SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES
TARGET_LINK_LIBRARIES(${GEOTIFF_LIBRARY_TARGET}
${TIFF_LIBRARIES}
- ${PROJ_LIBRARIES}
+ ${PROJ4_LIBRARIES}
${ZLIB_LIBRARIES}
${JPEG_LIBRARIES})

View File

@ -1,19 +1,16 @@
diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt
index 80fe121..5c1430d 100644
index b4a3cee..fd9f0a5 100644
--- a/libgeotiff/CMakeLists.txt
+++ b/libgeotiff/CMakeLists.txt
@@ -80,8 +80,12 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
@@ -80,7 +80,11 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
IF(WIN32)
IF(MSVC)
- ADD_DEFINITIONS(-DBUILD_AS_DLL=1)
- ADD_DEFINITIONS(/DW4)
+ IF(BUILD_SHARED_LIBS)
+ ADD_DEFINITIONS(-DBUILD_AS_DLL=1)
ADD_DEFINITIONS(-DBUILD_AS_DLL=1)
+ ELSE()
+ ADD_DEFINITIONS(-DBUILD_AS_DLL=0)
+ ENDIF()
+ ADD_DEFINITIONS(/DW4)
+ ADD_DEFINITIONS(-DBUILD_AS_DLL=0)
+ ENDIF()
ADD_DEFINITIONS(/DW4)
if (NOT (MSVC_VERSION VERSION_LESS 1400))
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)

View File

@ -1,17 +1,14 @@
diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in
index 0dd376aca..0615081bd 100644
--- a/libgeotiff/cmake/project-config.cmake.in
diff --git a/libgeotiff/cmake/project-config.cmake.in b/libgeotiff/cmake/project-config.cmake.in
index dc5b999..2ce07fd 100644
--- a/libgeotiff/cmake/project-config.cmake.in
+++ b/libgeotiff/cmake/project-config.cmake.in
@@ -23,6 +23,12 @@ message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}")
message (STATUS
"@PROJECT_NAME@ configuration, version ${@PROJECT_NAME@_VERSION}")
+#Find dependencies
+if(@WITH_PROJ4@)
+ include(CMakeFindDependencyMacro)
+ find_dependency(PROJ4)
+endif()
+
# Tell the user project where to find our headers and libraries
get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE)
@@ -23,6 +23,9 @@ message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}")
message (STATUS
"@PROJECT_NAME@ configuration, version ${@PROJECT_NAME@_VERSION}")
+include(CMakeFindDependencyMacro)
+find_dependency(PROJ)
+
# Tell the user project where to find our headers and libraries
get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE)

View File

@ -1,49 +1,48 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OSGeo/libgeotiff
REF 8b1a8f52bc909f86e04ceadd699db102208074a2 #v1.6.0
SHA512 41715d6a416307a93b2f95874c00ed27c3a0450d70311e77ed45f7ff477bd85f4a69b549bde01dfb9412a62a482467222fc8ed398478e2829e4d112012aab852
REF 7da5bacae7814c65ebb78f0b64e1141fbcb3de1e #v1.7.0
SHA512 36047778fbbb4a533a7b65e7b32ab8c0955f59b95417b68b68e7ddd398191445e730e00271756213bf657cbf7cd5eb028b25d4b0741e5b309c78c207b4ec01c6
HEAD_REF master
PATCHES
cmakelists.patch
geotiff-config.patch
fix-proj4.patch
fix-staticbuild.patch
fix-config-version.patch
skip-doc-install.patch
)
set(SOURCE_PATH ${SOURCE_PATH}/libgeotiff)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
tools WITH_JPEG
tools WITH_UTILITIES
)
# Delete FindPROJ4.cmake
file(REMOVE ${SOURCE_PATH}/cmake/FindPROJ4.cmake)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/libgeotiff"
OPTIONS
-DGEOTIFF_BIN_SUBDIR=bin
-DGEOTIFF_DATA_SUBDIR=share
-DWITH_TIFF=1
-DWITH_PROJ4=1
-DWITH_ZLIB=1
-DWITH_JPEG=1
-DWITH_UTILITIES=1
-DHAVE_TIFFOPEN=1
-DHAVE_TIFFMERGEFIELDINFO=1
-DCMAKE_MACOSX_BUNDLE=0
${FEATURE_OPTIONS}
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_copy_tools(TOOL_NAMES applygeo geotifcp listgeo makegeo AUTO_CLEAN)
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/geotiff TARGET_PATH share/geotiff)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/geotiff/geotiff-config.cmake "if (GeoTIFF_USE_STATIC_LIBS)" "if (1)")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
if(WITH_UTILITIES)
vcpkg_copy_tools(TOOL_NAMES applygeo geotifcp listgeo makegeo AUTO_CLEAN)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/doc ${CURRENT_PACKAGES_DIR}/debug/share)
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(PACKAGE_NAME GeoTIFF)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/GeoTIFF/geotiff-config.cmake" "if (GeoTIFF_USE_STATIC_LIBS)" "if (1)")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${SOURCE_PATH}/libgeotiff/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -0,0 +1,20 @@
diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt
index b4a3cee..f838a36 100644
--- a/libgeotiff/CMakeLists.txt
+++ b/libgeotiff/CMakeLists.txt
@@ -286,6 +286,7 @@ SET(GEOTIFF_LIB_DIR ${GEOTIFF_LIB_SUBDIR})
SET(GEOTIFF_INCLUDE_DIR ${GEOTIFF_INCLUDE_SUBDIR})
SET(GEOTIFF_DATA_DIR ${GEOTIFF_DATA_SUBDIR})
+if(0)
# Install doc files
INSTALL(FILES
AUTHORS ChangeLog COPYING INSTALL LICENSE README README_BIN README.WIN
@@ -294,6 +295,7 @@ INSTALL(FILES
# Install man pages
INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1)
+endif()
# Install header files for development distribution

5
ports/libgeotiff/usage Normal file
View File

@ -0,0 +1,5 @@
The package libgeotiff provides a CMake config file:
find_package(GeoTIFF CONFIG REQUIRED)
target_include_directories(main PRIVATE ${GEOTIFF_INCLUDE_DIR})
target_link_libraries(main PRIVATE ${GEOTIFF_LIBRARIES})

View File

@ -1,13 +1,29 @@
{
"name": "libgeotiff",
"version-string": "1.6.0",
"port-version": 4,
"description": "Libgeotiff is an open source library normally hosted on top of libtiff for reading, and writing GeoTIFF information tags.",
"version": "1.7.0",
"description": "Libgeotiff is an open source library on top of libtiff for reading and writing GeoTIFF information tags.",
"homepage": "https://github.com/OSGeo/libgeotiff",
"dependencies": [
"libjpeg-turbo",
"proj4",
"tiff",
"zlib"
]
{
"name": "tiff",
"default-features": false
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"tools": {
"description": "Install libgeotiff utility programs",
"dependencies": [
"libjpeg-turbo"
]
}
}
}

View File

@ -1,25 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d246a88..d0bba6f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -248,7 +248,7 @@ endif()
# GeoTIFF support - required, default=ON
set(WITH_GEOTIFF TRUE CACHE BOOL "Choose if GeoTIFF support should be built")
-find_package (GeoTIFF 1.3.0 )
+find_package (geotiff CONFIG REQUIRED)
if(GEOTIFF_FOUND)
set(WITH_GEOTIFF TRUE)
# Confirm required API is available
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
index beb83e2..650bc0c 100644
--- a/apps/CMakeLists.txt
+++ b/apps/CMakeLists.txt
@@ -168,7 +168,6 @@ if(UNIX)
set (LIBLAS_UTILS_RPATH ${LIBLAS_UTILS_RPATH} ${LASZIP_LIBRARY_DIRS})
endif()
if(GEOTIFF_FOUND)
- get_filename_component(GEOTIFF_LIBRARY_DIRS ${GEOTIFF_LIBRARY} PATH)
set (LIBLAS_UTILS_RPATH ${LIBLAS_UTILS_RPATH} ${GEOTIFF_LIBRARY_DIRS})
endif()
if(GDAL_FOUND)

View File

@ -12,7 +12,6 @@ vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
PATCHES
fix-boost-headers.patch
fix-geotiff.patch
)
file(REMOVE ${SOURCE_PATH}/cmake/modules/FindPROJ4.cmake)

View File

@ -1,7 +1,7 @@
{
"name": "liblas",
"version-string": "1.8.1",
"port-version": 8,
"version": "1.8.1",
"port-version": 9,
"description": "A C/C++ library for reading and writing the very common LAS LiDAR format.",
"dependencies": [
"boost-detail",

View File

@ -53,7 +53,7 @@ index a03ef14..9d073e6 100644
endforeach(_dir)
+include(CMakeFindDependencyMacro)
+find_dependency(geotiff)
+find_dependency(GeoTIFF)
+find_dependency(CURL)
+find_dependency(Boost COMPONENTS system filesystem)
+find_dependency(geos CONFIG)

View File

@ -1,15 +0,0 @@
diff --git a/cmake/geotiff.cmake b/cmake/geotiff.cmake
index 1d1e8af..ec077bc 100644
--- a/cmake/geotiff.cmake
+++ b/cmake/geotiff.cmake
@@ -2,8 +2,8 @@
# GeoTIFF support
#
-find_package(GeoTIFF REQUIRED 1.3.0)
-set_package_properties(GeoTIFF PROPERTIES TYPE REQUIRED)
+find_package(geotiff REQUIRED 1.3.0)
+set_package_properties(geotiff PROPERTIES TYPE REQUIRED)
if (GEOTIFF_FOUND)
include_directories("${GEOTIFF_INCLUDE_DIR}")
set(PDAL_HAVE_LIBGEOTIFF 1)

View File

@ -17,7 +17,6 @@ vcpkg_extract_source_archive_ex(
libpq.patch
fix-CPL_DLL.patch
0004-fix-const-overloaded.patch
geotiff.patch
)
file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp")

View File

@ -1,7 +1,7 @@
{
"name": "pdal",
"version-string": "1.7.1",
"port-version": 12,
"version": "1.7.1",
"port-version": 13,
"description": "PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.",
"dependencies": [
"boost-filesystem",

View File

@ -527,8 +527,6 @@ libcds:arm-uwp=fail
libcds:x64-uwp=fail
libcopp:arm64-windows=fail
libcopp:arm-uwp=fail
libgeotiff:arm-uwp=fail
libgeotiff:x64-uwp=fail
# Missing system libraries on linux to run/prepare autoconf
libgpod:x64-linux=fail
libgpod:x64-osx=fail

View File

@ -2354,7 +2354,7 @@
},
"gdal": {
"baseline": "3.3.2",
"port-version": 3
"port-version": 4
},
"gdcm": {
"baseline": "3.0.7",
@ -3449,8 +3449,8 @@
"port-version": 1
},
"libgeotiff": {
"baseline": "1.6.0",
"port-version": 4
"baseline": "1.7.0",
"port-version": 0
},
"libgit2": {
"baseline": "1.3.0",
@ -3566,7 +3566,7 @@
},
"liblas": {
"baseline": "1.8.1",
"port-version": 8
"port-version": 9
},
"liblbfgs": {
"baseline": "1.10",
@ -5138,7 +5138,7 @@
},
"pdal": {
"baseline": "1.7.1",
"port-version": 12
"port-version": 13
},
"pdal-c": {
"baseline": "1.8",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a9ec2540fda2dfe657e004b70d5ca5a1cc7a2db8",
"version-semver": "3.3.2",
"port-version": 4
},
{
"git-tree": "5173c609fafae13d948b1417064517be5bd78c7f",
"version-semver": "3.3.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f68bbf7c0472548573a69d1e41801edb1179c028",
"version": "1.7.0",
"port-version": 0
},
{
"git-tree": "2211c53755bff618e685ac712f96ee381d2ba6a6",
"version-string": "1.6.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "9d89f6e4515fcd144d24a7e619ea2de26799a005",
"version": "1.8.1",
"port-version": 9
},
{
"git-tree": "cab66222be9c25d617f6da9160ca930e0cb069dd",
"version-string": "1.8.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "11280c0564220eb3e82eae1c596843daf5b79294",
"version": "1.7.1",
"port-version": 13
},
{
"git-tree": "836e512e2335367a76bc44197f3140c802897154",
"version-string": "1.7.1",