summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch')
-rw-r--r--sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch b/sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch
new file mode 100644
index 000000000000..47ee7050aa8a
--- /dev/null
+++ b/sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch
@@ -0,0 +1,98 @@
+https://github.com/OSGeo/libgeotiff/pull/74
+
+From 8541a109f3aad4756488f730ed8d71060f9b282f Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 20 Mar 2022 02:55:50 +0000
+Subject: [PATCH] CMake: adopt GNUInstallDirs
+
+This makes it a lot easier for packagers (it happens by default
+if we've setup our environment correctly) to have files installed in the right
+places, including libdir, but also documentation, which can vary.
+
+This works cross-platform still but it means libgeotiff uses the
+standard options which CMake projects tend to use for such locations
+and therefore no special treatment is needed when packaging it.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,6 +7,8 @@
+ ###############################################################################
+ PROJECT(GeoTIFF)
+
++include(GNUInstallDirs)
++
+ SET(GEOTIFF_LIB_NAME geotiff)
+ SET(GEOTIFF_LIBRARY_TARGET geotiff_library)
+
+@@ -239,38 +241,17 @@ SET(GEOTIFF_MAN_PAGES
+
+ # ${PROJECT_BINARY_DIR}/geotiff_version.h
+
+-SET(DEFAULT_BIN_SUBDIR bin)
+-SET(DEFAULT_LIB_SUBDIR lib)
+-SET(DEFAULT_INCLUDE_SUBDIR include)
+-
+-# Locations are changeable by user to customize layout of GeoTIFF installation
+-# (default values are platform-specIFic)
+-SET(GEOTIFF_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING
+- "Subdirectory where executables will be installed")
+-SET(GEOTIFF_LIB_SUBDIR ${DEFAULT_LIB_SUBDIR} CACHE STRING
+- "Subdirectory where libraries will be installed")
+-SET(GEOTIFF_INCLUDE_SUBDIR ${DEFAULT_INCLUDE_SUBDIR} CACHE STRING
+- "Subdirectory where header files will be installed")
+-
+-# Mark *_SUBDIR variables as advanced and dedicated to use by power-users only.
+-MARK_AS_ADVANCED(GEOTIFF_BIN_SUBDIR GEOTIFF_LIB_SUBDIR GEOTIFF_INCLUDE_SUBDIR)
+-
+-# Full paths for the installation
+-SET(GEOTIFF_BIN_DIR ${GEOTIFF_BIN_SUBDIR})
+-SET(GEOTIFF_LIB_DIR ${GEOTIFF_LIB_SUBDIR})
+-SET(GEOTIFF_INCLUDE_DIR ${GEOTIFF_INCLUDE_SUBDIR})
+-
+ # Install doc files
+ INSTALL(FILES
+ AUTHORS ChangeLog COPYING INSTALL LICENSE README README_BIN README.WIN
+- DESTINATION doc)
++ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+ # Install man pages
+-INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1)
++INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+
+
+ # Install header files for development distribution
+-INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
++INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ ###############################################################################
+ # Build libxtiff library
+@@ -323,7 +304,7 @@ if(UNIX)
+ set_target_properties(
+ ${GEOTIFF_LIBRARY_TARGET}
+ PROPERTIES
+- INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${GEOTIFF_LIB_DIR}")
++ INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ endif()
+ endif()
+
+@@ -348,14 +329,14 @@ target_link_libraries(${GEOTIFF_LIBRARY_TARGET} PRIVATE
+ target_include_directories(
+ ${GEOTIFF_LIBRARY_TARGET}
+ PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
+- $<INSTALL_INTERFACE:${GEOTIFF_INCLUDE_DIR}>)
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+
+ INSTALL( TARGETS ${GEOTIFF_LIBRARY_TARGET}
+ EXPORT depends
+- RUNTIME DESTINATION ${GEOTIFF_BIN_DIR}
+- LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
+- PUBLIC_HEADER DESTINATION ${GEOTIFF_INCLUDE_DIR}
+- ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR} )
++ RUNTIME DESTINATION ${CMAKE_INSTALLL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ # Define grouping of source files in PROJECT file (e.g. Visual Studio)
+ SOURCE_GROUP("CMake Files" FILES CMakeLists.txt)