Commit 39728a2 for zlib
commit 39728a2b005fa549307943a3ed00afa878ab9a65
Author: Vollstrecker <werner@vollstreckernet.de>
Date: Sat Jan 3 10:53:14 2026 +0100
CMake: Add install and exports.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1e94f80..66dd728 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -241,7 +241,7 @@ if(ZLIB_INSTALL)
if(ZLIB_INSTALL_COMPAT_DLL)
install(
FILES $<TARGET_FILE:zlib>
- COMPONENT Runtime
+ COMPONENT Development
RENAME zlib1.dll
DESTINATION "${CMAKE_INSTALL_BINDIR}")
endif(ZLIB_INSTALL_COMPAT_DLL)
diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt
index fdaf2e9..8ec3bbd 100644
--- a/contrib/CMakeLists.txt
+++ b/contrib/CMakeLists.txt
@@ -14,6 +14,11 @@ function(zlib_add_contrib_lib name description dir)
set(ZLIB_${name}_BUILD_TESTING ${ZLIB_BUILD_TESTING} CACHE BOOL "")
endif(NOT DEFINED ZLIB_${name}_BUILD_TESTING)
+
+ if(NOT DEFINED ZLIB_${name}_INSTALL)
+ set(ZLIB_${name}_INSTALL ${ZLIB_INSTALL} CACHE BOOL "")
+ endif(NOT DEFINED ZLIB_${name}_INSTALL)
+
add_subdirectory(${dir}/)
endif(ZLIB_BUILD_${name})
endfunction(zlib_add_contrib_lib name description dir)
diff --git a/contrib/blast/CMakeLists.txt b/contrib/blast/CMakeLists.txt
index 12c08a6..b1a9065 100644
--- a/contrib/blast/CMakeLists.txt
+++ b/contrib/blast/CMakeLists.txt
@@ -1,7 +1,5 @@
cmake_minimum_required(VERSION 3.12...3.31)
-set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
-
project(
blast
VERSION 1.3.0
@@ -12,9 +10,13 @@ project(
option(ZLIB_BLAST_BUILD_SHARED "Enable building blast shared library" ON)
option(ZLIB_BLAST_BUILD_STATIC "Enable building blast static library" ON)
option(ZLIB_BLAST_BUILD_TESTING "Enable building tests for blast" ON)
+option(ZLIB_BLAST_INSTALL "Enable installation of blast" ON)
+
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
if(WIN32 OR CYGWIN)
- set(zlibAda_static_suffix "s")
+ set(zlibblast_static_suffix "s")
set(CMAKE_DEBUG_POSTFIX "d")
endif(WIN32 OR CYGWIN)
@@ -83,3 +85,58 @@ if(ZLIB_BLAST_BUILD_STATIC)
"${CMAKE_CURRENT_BINARY_DIR}")
endif(ZLIB_BLAST_BUILD_TESTING)
endif(ZLIB_BLAST_BUILD_STATIC)
+
+if(ZLIB_BLAST_INSTALL)
+ if(ZLIB_BLAST_BUILD_SHARED)
+ install(
+ TARGETS zlib_blast_blast
+ COMPONENT Runtime
+ EXPORT zlibBlastSharedExport
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ install(
+ EXPORT zlibBlastSharedExport
+ FILE blast-shared.cmake
+ NAMESPACE BLAST::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/blast)
+
+ if(MSVC)
+ install(
+ FILES $<TARGET_PDB_FILE:zlib_blast_blast>
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ CONFIGURATIONS Debug OR RelWithDebInfo
+ OPTIONAL)
+ endif(MSVC)
+ endif(ZLIB_BLAST_BUILD_SHARED)
+
+ if(ZLIB_BLAST_BUILD_STATIC)
+ install(
+ TARGETS zlib_blast_blastStatic
+ COMPONENT Development
+ EXPORT zlibBlastStaticExport
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+ install(
+ EXPORT zlibBlastStaticExport
+ FILE blast-static.cmake
+ NAMESPACE BLAST::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/blast)
+ endif(ZLIB_BLAST_BUILD_STATIC)
+
+ configure_package_config_file(
+ ${blast_SOURCE_DIR}/blastConfig.cmake.in
+ ${blast_BINARY_DIR}/blastConfig.cmake
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/blast)
+
+ write_basic_package_version_file(
+ "${blast_BINARY_DIR}/blastConfigVersion.cmake"
+ VERSION "${blast_VERSION}"
+ COMPATIBILITY AnyNewerVersion)
+
+ install(FILES ${blast_BINARY_DIR}/blastConfig.cmake
+ ${blast_BINARY_DIR}/blastConfigVersion.cmake
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/blast)
+ install(
+ FILES blast.h
+ COMPONENT Development
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+endif(ZLIB_BLAST_INSTALL)
diff --git a/contrib/iostream3/CMakeLists.txt b/contrib/iostream3/CMakeLists.txt
index 3426a58..01bc279 100644
--- a/contrib/iostream3/CMakeLists.txt
+++ b/contrib/iostream3/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.12...3.31)
project(
- iostreamsV3
+ iostreamV3
VERSION 1.0.0
LANGUAGES CXX
DESCRIPTION "A library for using C++ IOStreams with zlib V3"
@@ -10,6 +10,10 @@ project(
option(ZLIB_IOSTREAM3_BUILD_SHARED "Enable building blast shared library" ON)
option(ZLIB_IOSTREAM3_BUILD_STATIC "Enable building blast static library" ON)
option(ZLIB_IOSTREAM3_BUILD_TESTING "Enable building tests for blast" ON)
+option(ZLIB_IOSTREAM3_INSTALL "Enable installation of iostream" ON)
+
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
if(NOT DEFINED ZLIB_BUILD_IOSTREAM3)
if(ZLIB_IOSTREAM3_BUILD_SHARED)
@@ -88,3 +92,58 @@ if(ZLIB_IOSTREAM3_BUILD_TESTING)
PROPERTIES
FIXTURES_CLEANUP zlib_iostream3_cleanup)
endif(ZLIB_IOSTREAM3_BUILD_TESTING)
+
+if(ZLIB_IOSTREAM3_INSTALL)
+ if(ZLIB_IOSTREAM3_BUILD_SHARED)
+ install(
+ TARGETS zlib_iostream3_iostreamv3
+ COMPONENT Runtime
+ EXPORT zlibiostream3SharedExport
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ install(
+ EXPORT zlibiostream3SharedExport
+ FILE iostreamv3-shared.cmake
+ NAMESPACE IOSTREAMV3::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/iostreamv3)
+
+ if(MSVC)
+ install(
+ FILES $<TARGET_PDB_FILE:zlib_iostream3_iostream3>
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ CONFIGURATIONS Debug OR RelWithDebInfo
+ OPTIONAL)
+ endif(MSVC)
+ endif(ZLIB_IOSTREAM3_BUILD_SHARED)
+
+ if(ZLIB_IOSTREAM3_BUILD_STATIC)
+ install(
+ TARGETS zlib_iostream3_iostreamv3Static
+ COMPONENT Development
+ EXPORT iostream3StaticExport
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+ install(
+ EXPORT iostream3StaticExport
+ FILE iostreamv3-static.cmake
+ NAMESPACE IOSTREAMV3::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/iostreamv3)
+ endif(ZLIB_IOSTREAM3_BUILD_STATIC)
+
+ configure_package_config_file(
+ ${iostreamV3_SOURCE_DIR}/iostream3Config.cmake.in
+ ${iostreamV3_BINARY_DIR}/iostreamv3Config.cmake
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/iostreamv3)
+
+ write_basic_package_version_file(
+ "${iostreamV3_BINARY_DIR}/iostreamv3ConfigVersion.cmake"
+ VERSION "${iostream3_VERSION}"
+ COMPATIBILITY AnyNewerVersion)
+
+ install(FILES ${iostreamV3_BINARY_DIR}/iostreamv3Config.cmake
+ ${iostreamV3_BINARY_DIR}/iostreamv3ConfigVersion.cmake
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/iostreamv3)
+ install(
+ FILES zfstream.h
+ COMPONENT Development
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+endif(ZLIB_IOSTREAM3_INSTALL)
diff --git a/contrib/puff/CMakeLists.txt b/contrib/puff/CMakeLists.txt
index f7418fd..1696c76 100644
--- a/contrib/puff/CMakeLists.txt
+++ b/contrib/puff/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.12...3.31)
project(
- iostreamsV3
+ puff
VERSION 1.0.0
LANGUAGES C
DESCRIPTION "A library for decompressing deflate with very little footprint"
@@ -10,6 +10,10 @@ project(
option(ZLIB_PUFF_BUILD_SHARED "Enable building blast shared library" ON)
option(ZLIB_PUFF_BUILD_STATIC "Enable building blast static library" ON)
option(ZLIB_PUFF_BUILD_TESTING "Enable building tests for blast" ON)
+option(ZLIB_PUFF_INSTALL "Enable installation of puff" ON)
+
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
if(NOT DEFINED ZLIB_BUILD_PUFF)
if(ZLIB_PUFF_BUILD_SHARED)
@@ -135,3 +139,58 @@ if(ZLIB_PUFF_BUILD_STATIC)
endif(GCOV_EXECUTABLE)
endif(ZLIB_PUFF_BUILD_TESTING)
endif(ZLIB_PUFF_BUILD_STATIC)
+
+if(ZLIB_PUFF_INSTALL)
+ if(ZLIB_PUFF_BUILD_SHARED)
+ install(
+ TARGETS zlib_puff_puff
+ COMPONENT Runtime
+ EXPORT puffSharedExport
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ install(
+ EXPORT puffSharedExport
+ FILE puff-shared.cmake
+ NAMESPACE PUFF::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/puff)
+
+ if(MSVC)
+ install(
+ FILES $<TARGET_PDB_FILE:zlib_puff_puff>
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ CONFIGURATIONS Debug OR RelWithDebInfo
+ OPTIONAL)
+ endif(MSVC)
+ endif(ZLIB_PUFF_BUILD_SHARED)
+
+ if(ZLIB_PUFF_BUILD_STATIC)
+ install(
+ TARGETS zlib_puff_puffStatic
+ COMPONENT Development
+ EXPORT puffStaticExport
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+ install(
+ EXPORT puffStaticExport
+ FILE puff-static.cmake
+ NAMESPACE PUFF::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/puff)
+ endif(ZLIB_PUFF_BUILD_STATIC)
+
+ configure_package_config_file(
+ ${puff_SOURCE_DIR}/puffConfig.cmake.in
+ ${puff_BINARY_DIR}/puffConfig.cmake
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/puff)
+
+ write_basic_package_version_file(
+ "${puff_BINARY_DIR}/puffConfigVersion.cmake"
+ VERSION "${puff_VERSION}"
+ COMPATIBILITY AnyNewerVersion)
+
+ install(FILES ${puff_BINARY_DIR}/puffConfig.cmake
+ ${puff_BINARY_DIR}/puffConfigVersion.cmake
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/puff)
+ install(
+ FILES puff.h
+ COMPONENT Development
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+endif(ZLIB_PUFF_INSTALL)