From bd9ef03952031919edd96885295ce9b48fa3d3e1 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 13 Jul 2020 10:53:09 +0200 Subject: update to 1.7.2 fix installation layout using patch from https://github.com/nih-at/libzip/pull/190 fix pkgconfig usability using patch from https://github.com/nih-at/libzip/pull/191 --- libzip-gnuinstalldirs.patch | 126 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 libzip-gnuinstalldirs.patch (limited to 'libzip-gnuinstalldirs.patch') diff --git a/libzip-gnuinstalldirs.patch b/libzip-gnuinstalldirs.patch new file mode 100644 index 0000000..088b5a6 --- /dev/null +++ b/libzip-gnuinstalldirs.patch @@ -0,0 +1,126 @@ +From ebe01b5c259fa28b4da24cc1c11ab24a31281b64 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Mon, 13 Jul 2020 08:16:59 +0200 +Subject: [PATCH] restore GNUInstallDirs + +--- + CMakeLists.txt | 17 +++++++++-------- + lib/CMakeLists.txt | 10 +++++----- + man/CMakeLists.txt | 8 ++++---- + 3 files changed, 18 insertions(+), 17 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8013d2ea..b2f81b1c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,6 +29,7 @@ include(CheckCSourceRuns) + include(CheckCSourceCompiles) + include(CheckStructHasMember) + include(TestBigEndian) ++include(GNUInstallDirs) + if(ENABLE_COMMONCRYPTO) + check_include_files(CommonCrypto/CommonCrypto.h COMMONCRYPTO_FOUND) + else() +@@ -234,7 +235,7 @@ endif(WIN32) + + # rpath handling: use rpath in installed binaries + if(NOT CMAKE_SYSTEM_NAME MATCHES Linux) +- set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + endif() + +@@ -279,9 +280,9 @@ endif() + # pkgconfig file + set(prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix \${prefix}) +-set(bindir \${exec_prefix}/bin) +-set(libdir \${exec_prefix}/lib) +-set(includedir \${prefix}/include) ++SET(bindir \${exec_prefix}/${CMAKE_INSTALL_BINDIR}) ++SET(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++SET(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + if(CMAKE_SYSTEM_NAME MATCHES BSD) + set(PKG_CONFIG_RPATH "-Wl,-R\${libdir}") + endif(CMAKE_SYSTEM_NAME MATCHES BSD) +@@ -295,7 +296,7 @@ foreach(LIB ${LIBS_PRIVATE}) + endforeach() + configure_file(libzip.pc.in libzip.pc @ONLY) + if(LIBZIP_DO_INSTALL) +- install(FILES ${PROJECT_BINARY_DIR}/libzip.pc DESTINATION lib/pkgconfig) ++ install(FILES ${PROJECT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif() + + # fixed size integral types +@@ -417,7 +418,7 @@ write_basic_package_version_file("${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-v + COMPATIBILITY AnyNewerVersion) + + configure_package_config_file("${PROJECT_NAME}-config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" +- INSTALL_DESTINATION lib/cmake/libzip) ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libzip) + + # Add targets to the build-tree export set + export(TARGETS zip +@@ -427,10 +428,10 @@ export(TARGETS zip + if(LIBZIP_DO_INSTALL) + install(FILES ${PROJECT_BINARY_DIR}/zipconf.h DESTINATION include) + install(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake +- DESTINATION lib/cmake/${PROJECT_NAME} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + ) + install(EXPORT ${PROJECT_NAME}-targets NAMESPACE libzip:: FILE ${PROJECT_NAME}-targets.cmake +- DESTINATION lib/cmake/${PROJECT_NAME} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + ) + endif() + +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 5a6f1713..082203d0 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -181,11 +181,11 @@ target_include_directories(zip + if(LIBZIP_DO_INSTALL) + install(TARGETS zip + EXPORT ${PROJECT_NAME}-targets +- RUNTIME DESTINATION bin +- ARCHIVE DESTINATION lib +- INCLUDES DESTINATION include +- LIBRARY DESTINATION lib) +- install(FILES zip.h DESTINATION include) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(FILES zip.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + endif() + + # create zip_err_str.h from zip.h +diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt +index ce714ec4..90d462a5 100644 +--- a/man/CMakeLists.txt ++++ b/man/CMakeLists.txt +@@ -104,10 +104,10 @@ foreach(MAN_PAGE ${MAN_PAGES}) + string(REGEX REPLACE "[1-9]$" "${DOCUMENTATION_FORMAT}" SOURCE_FILE ${MAN_PAGE}) + if(LIBZIP_DO_INSTALL) + if (DOCUMENTATION_FORMAT MATCHES "html") +- install(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION share/doc/${PROJECT_NAME} RENAME ${SOURCE_FILE}) ++ install(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_DOCDIR}/${PROJECT_NAME} RENAME ${SOURCE_FILE}) + else() + string(REGEX REPLACE ".*(.)$" "man\\1" SUBDIR ${MAN_PAGE}) +- install(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION man/${SUBDIR}) ++ install(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_MANDIR}/${SUBDIR}) + endif() + endif() + # configure_file does not find out about updates to the sources, and it does not provide a target +@@ -147,9 +147,9 @@ foreach(LINKS_LINE ${MANPAGE_LINKS}) + set(TARGET ${CMAKE_MATCH_2}) + if(LIBZIP_DO_INSTALL) + if (DOCUMENTATION_FORMAT MATCHES "html") +- INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION share/doc/${PROJECT_NAME} RENAME ${TARGET}.html) ++ INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_DOCDIR}/${PROJECT_NAME} RENAME ${TARGET}.html) + else() +- INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION man/man3 RENAME ${TARGET}.3) ++ INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 RENAME ${TARGET}.3) + endif() + endif() + endif() -- cgit