0f3d6d2e6a
The current released version of zziplib copies static libraries with appended major version, but omits creating the necessary links to the base file names. This prevents the linker to find the libraries via the search path. The issue (https://github.com/gdraheim/zziplib/issues/117) has been fixed upstream; this patch extracts the necessary part of commit 0e8d35f92efb680c81f6ec1fca9f11d173dce389, to enable creation of symlinks. This resolves the following autobuild issues: http://autobuild.buildroot.net/results/6c56b645a2b723920f07b98474452824fba5e2c1 http://autobuild.buildroot.net/results/032aaff121fb114f388c67dbca3ad2b02f670e38 http://autobuild.buildroot.net/results/ba711034c0abe980f677e26de41739223e2f66e9 Signed-off-by: Andreas Ziegler <br015@umbiko.net> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
76 lines
2.8 KiB
Diff
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}")
|