| From 0e8d35f92efb680c81f6ec1fca9f11d173dce389 Mon Sep 17 00:00:00 2001 |
| From: Guido Draheim <guidod@gmx.de> |
| Date: Sat, 22 May 2021 15:13:28 +0200 |
| Subject: [PATCH] #117 implant ZZIP_LIBLATEST for zzip.lib |
| |
| [Andreas: Extract link creation for versioned libraries from commit |
| 0e8d35f92efb680c81f6ec1fca9f11d173dce389.] |
| Signed-off-by: Andreas Ziegler <br015@umbiko.net> |
| --- |
| zzip/CMakeLists.txt | 57 +++++++++++++++++++++++++++++++++++---------- |
| 1 file changed, 45 insertions(+), 12 deletions(-) |
| |
| diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt |
| index a966d5f..ccd08b6 100644 |
| --- a/zzip/CMakeLists.txt |
| +++ b/zzip/CMakeLists.txt |
| @@ -28,6 +28,12 @@ option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" OFF) |
| option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" OFF) |
| endif() |
| |
| +if(ZZIP_LIBTOOL OR ZZIP_PKGCONFIG) |
| +option(ZZIP_LIBLATEST "Ensure libname.lib links to libname-REL.lib" ON) |
| +else() |
| +option(ZZIP_LIBLATEST "Ensure libname.lib links to libname-REL.lib" OFF) |
| +endif() |
| + |
| # used in zzip/_config.h |
| set(ZZIP_PACKAGE "${PROJECT_NAME}lib") |
| set(ZZIP_VERSION "${PROJECT_VERSION}") |
| @@ -346,6 +340,45 @@ if(ZZIP_LIBTOOL) |
| endif(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG) |
| endif(ZZIP_LIBTOOL) |
| |
| +if(ZZIP_LIBLATEST) |
| + if(BUILD_SHARED_LIBS) |
| + set(lib ${CMAKE_SHARED_LIBRARY_PREFIX}) |
| + set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX}) |
| + else() |
| + set(lib ${CMAKE_STATIC_LIBRARY_PREFIX}) |
| + set(dll ${CMAKE_STATIC_LIBRARY_SUFFIX}) |
| + endif() |
| + get_target_property(libname libzzip OUTPUT_NAME) |
| + get_target_property(librelease libzzip RELEASE_POSTFIX) |
| + add_custom_target(libzzip_latest ALL |
| + COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzip> ${lib}${libname}${dll} |
| + ) |
| + install(FILES |
| + ${outdir}/${lib}${libname}${dll} |
| + DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
| + if(ZZIPFSEEKO) |
| + get_target_property(libname libzzipfseeko OUTPUT_NAME) |
| + get_target_property(librelease libzzipfseeko RELEASE_POSTFIX) |
| + add_custom_target(libzzipfseeko_latest ALL |
| + COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzipfseeko> ${lib}${libname}${dll} |
| + ) |
| + install(FILES |
| + ${outdir}/${lib}${libname}${dll} |
| + DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
| + endif(ZZIPFSEEKO) |
| + if(ZZIPMMAPPED) |
| + get_target_property(libname libzzipmmapped OUTPUT_NAME) |
| + get_target_property(librelease libzzipmmapped RELEASE_POSTFIX) |
| + add_custom_target(libzzipmmaped_latest ALL |
| + COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzipmmapped> ${lib}${libname}${dll} |
| + ) |
| + install(FILES |
| + ${outdir}/${lib}${libname}${dll} |
| + DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
| + endif(ZZIPMMAPPED) |
| +endif(ZZIP_LIBLATEST) |
| + |
| + |
| ## messages ############################################## |
| |
| message(STATUS "lib zzipfseeko to be compiled: ${ZZIPFSEEKO}") |