buildroot/package/zziplib/0001-implant-ZZIP_LIBLATEST...

76 lines
2.8 KiB
Diff

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}")