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