aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVollstrecker <werner@vollstreckernet.de>2024-12-31 12:55:38 +0100
committerMark Adler <madler@alumni.caltech.edu>2025-01-31 20:02:26 -0800
commitabf7487d6c3dd12dde50bd54489cfc99cef59770 (patch)
tree1c5add290415cec005c5559cd4c5fd78b86f6e94
parente843c631d6c677bb8585c31b0b960d281cfc42bc (diff)
downloadzlib-abf7487d6c3dd12dde50bd54489cfc99cef59770.tar.gz
zlib-abf7487d6c3dd12dde50bd54489cfc99cef59770.tar.bz2
zlib-abf7487d6c3dd12dde50bd54489cfc99cef59770.zip
CMake: Add components selection.
-rw-r--r--CMakeLists.txt23
-rw-r--r--contrib/minizip/CMakeLists.txt23
-rw-r--r--contrib/minizip/minizipConfig.cmake.in32
-rw-r--r--zlibConfig.cmake.in27
4 files changed, 76 insertions, 29 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4785e1a..d14ca30 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -231,10 +231,14 @@ if(ZLIB_INSTALL_LIBRARIES)
231 if(ZLIB_BUILD_SHARED) 231 if(ZLIB_BUILD_SHARED)
232 install(TARGETS zlib 232 install(TARGETS zlib
233 COMPONENT Runtime 233 COMPONENT Runtime
234 EXPORT zlibExport 234 EXPORT zlibSharedExport
235 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 235 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
236 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" 236 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
237 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") 237 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
238 install(EXPORT zlibSharedExport
239 FILE ZLIB-shared.cmake
240 NAMESPACE ZLIB::
241 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
238 if(ZLIB_INSTALL_COMPAT_DLL) 242 if(ZLIB_INSTALL_COMPAT_DLL)
239 install(FILES $<TARGET_FILE:zlib> 243 install(FILES $<TARGET_FILE:zlib>
240 COMPONENT Runtime 244 COMPONENT Runtime
@@ -255,23 +259,26 @@ if(ZLIB_INSTALL_LIBRARIES)
255 if(ZLIB_BUILD_STATIC) 259 if(ZLIB_BUILD_STATIC)
256 install(TARGETS zlibstatic 260 install(TARGETS zlibstatic
257 COMPONENT Development 261 COMPONENT Development
258 EXPORT zlibExport 262 EXPORT zlibStaticExport
259 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 263 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
260 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" 264 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
261 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") 265 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
266 install(EXPORT zlibStaticExport
267 FILE ZLIB-static.cmake
268 NAMESPACE ZLIB::
269 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
270
262 if(ZLIB_INSTALL_COMPAT_DLL AND MINGW) 271 if(ZLIB_INSTALL_COMPAT_DLL AND MINGW)
263 install(FILES $<TARGET_FILE:zlibstatic> 272 install(FILES $<TARGET_FILE:zlibstatic>
264 COMPONENT Development 273 COMPONENT Development
265 RENAME libz.dll.a 274 RENAME libz.dll.a
266 DESTINATION "${CMAKE_INSTALL_LIBDIR}") 275 DESTINATION "${CMAKE_INSTALL_LIBDIR}")
267 endif(ZLIB_INSTALL_COMPAT_DLL AND MINGW) 276 endif(ZLIB_INSTALL_COMPAT_DLL AND MINGW)
268
269 endif(ZLIB_BUILD_STATIC) 277 endif(ZLIB_BUILD_STATIC)
270 278
271 configure_package_config_file(${zlib_SOURCE_DIR}/zlibConfig.cmake.in 279 configure_package_config_file(${zlib_SOURCE_DIR}/zlibConfig.cmake.in
272 ${zlib_BINARY_DIR}/ZLIBConfig.cmake 280 ${zlib_BINARY_DIR}/ZLIBConfig.cmake
273 INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib 281 INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
274 NO_CHECK_REQUIRED_COMPONENTS_MACRO)
275 282
276 write_basic_package_version_file( 283 write_basic_package_version_file(
277 "${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake" 284 "${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake"
@@ -282,12 +289,6 @@ if(ZLIB_INSTALL_LIBRARIES)
282 ${zlib_BINARY_DIR}/ZLIBConfig.cmake 289 ${zlib_BINARY_DIR}/ZLIBConfig.cmake
283 ${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake 290 ${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake
284 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) 291 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
285
286 install(EXPORT zlibExport
287 FILE ZLIB.cmake
288 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib
289 NAMESPACE ZLIB::)
290
291 install(FILES ${ZLIB_PUBLIC_HDRS} 292 install(FILES ${ZLIB_PUBLIC_HDRS}
292 COMPONENT Development 293 COMPONENT Development
293 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") 294 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
diff --git a/contrib/minizip/CMakeLists.txt b/contrib/minizip/CMakeLists.txt
index d84984c..c4b425a 100644
--- a/contrib/minizip/CMakeLists.txt
+++ b/contrib/minizip/CMakeLists.txt
@@ -247,10 +247,14 @@ if(MINIZIP_INSTALL)
247 if(MINIZIP_BUILD_SHARED) 247 if(MINIZIP_BUILD_SHARED)
248 install(TARGETS libminizip minizip miniunzip 248 install(TARGETS libminizip minizip miniunzip
249 COMPONENT Runtime 249 COMPONENT Runtime
250 EXPORT minizipExport 250 EXPORT minizipSharedExport
251 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 251 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
252 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" 252 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
253 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") 253 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
254 install(EXPORT minizipSharedExport
255 FILE minizip-shared.cmake
256 NAMESPACE MINIZIP::
257 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
254 if(MINIZIP_INSTALL_COMPAT_DLL) 258 if(MINIZIP_INSTALL_COMPAT_DLL)
255 install(FILES $<TARGET_FILE:libminizip> 259 install(FILES $<TARGET_FILE:libminizip>
256 COMPONENT Runtime 260 COMPONENT Runtime
@@ -273,32 +277,27 @@ if(MINIZIP_INSTALL)
273 COMPONENT Development 277 COMPONENT Development
274 TARGETS minizipstatic miniunzipstatic 278 TARGETS minizipstatic miniunzipstatic
275 COMPONENT Runtime 279 COMPONENT Runtime
276 EXPORT minizipExport 280 EXPORT minizipStaticExport
277 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 281 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
278 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" 282 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
279 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") 283 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
284 install(EXPORT minizipStaticExport
285 FILE minizip-static.cmake
286 NAMESPACE MINIZIP::
287 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
280 endif(MINIZIP_BUILD_STATIC) 288 endif(MINIZIP_BUILD_STATIC)
281 289
282 configure_package_config_file(${minizip_SOURCE_DIR}/minizipConfig.cmake.in 290 configure_package_config_file(${minizip_SOURCE_DIR}/minizipConfig.cmake.in
283 ${minizip_BINARY_DIR}/minizipConfig.cmake 291 ${minizip_BINARY_DIR}/minizipConfig.cmake
284 INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip 292 INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
285 NO_CHECK_REQUIRED_COMPONENTS_MACRO)
286
287 write_basic_package_version_file( 293 write_basic_package_version_file(
288 "${minizip_BINARY_DIR}/minizipConfigVersion.cmake" 294 "${minizip_BINARY_DIR}/minizipConfigVersion.cmake"
289 VERSION "${minizip_VERSION}" 295 VERSION "${minizip_VERSION}"
290 COMPATIBILITY AnyNewerVersion) 296 COMPATIBILITY AnyNewerVersion)
291
292 install(FILES 297 install(FILES
293 ${minizip_BINARY_DIR}/minizipConfig.cmake 298 ${minizip_BINARY_DIR}/minizipConfig.cmake
294 ${minizip_BINARY_DIR}/minizipConfigVersion.cmake 299 ${minizip_BINARY_DIR}/minizipConfigVersion.cmake
295 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip) 300 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
296
297 install(EXPORT minizipExport
298 FILE minizip.cmake
299 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip
300 NAMESPACE MINIZIP::)
301
302 install(FILES ${LIBMINIZIP_HDRS} 301 install(FILES ${LIBMINIZIP_HDRS}
303 COMPONENT Development 302 COMPONENT Development
304 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") 303 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
diff --git a/contrib/minizip/minizipConfig.cmake.in b/contrib/minizip/minizipConfig.cmake.in
index ba7ecde..ef0004d 100644
--- a/contrib/minizip/minizipConfig.cmake.in
+++ b/contrib/minizip/minizipConfig.cmake.in
@@ -1,6 +1,30 @@
1set(minizip_VERSION @minizip_VERSION@)
2set(MINIZIP_ENABLE_BZIP2 @BZIP2_FOUND@)
3@PACKAGE_INIT@ 1@PACKAGE_INIT@
2
3set(_minizip_supported_components "")
4include(CMakeFindDependencyMacro) 4include(CMakeFindDependencyMacro)
5find_dependency(ZLIB CONFIG) 5if(@MINIZIP_BUILD_SHARED@)
6INCLUDE (${CMAKE_CURRENT_LIST_DIR}/minizip.cmake) 6 list(APPEND _minizip_supported_components shared)
7endif(@MINIZIP_BUILD_SHARED@)
8
9if(@MINIZIP_BUILD_STATIC@)
10 list(APPEND _minizip_supported_components static)
11endif(@MINIZIP_BUILD_STATIC@)
12
13if(minizip_FIND_COMPONENTS)
14 find_dependency(ZLIB CONFIG COMPONENTS ${minizip_FIND_COMPONENTS})
15
16 foreach(_comp ${minizip_FIND_COMPONENTS})
17 if (NOT _comp IN_LIST _MINIZIP_supported_components)
18 set(minizip_FOUND False)
19 set(minizip_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
20 endif(NOT _comp IN_LIST _MINIZIP_supported_components)
21
22 include("${CMAKE_CURRENT_LIST_DIR}/minizip-${_comp}.cmake")
23 endforeach(_comp ${ZLIB_FIND_COMPONENTS})
24else(minizip_FIND_COMPONENTS)
25 find_dependency(ZLIB CONFIG)
26
27 foreach(_component_config IN LISTS _minizip_supported_components)
28 include("${CMAKE_CURRENT_LIST_DIR}/minizip-${_component_config}.cmake")
29 endforeach(_component_config IN LISTS _minizip_supported_components)
30endif(minizip_FIND_COMPONENTS)
diff --git a/zlibConfig.cmake.in b/zlibConfig.cmake.in
index 8e64b6f..d7a849b 100644
--- a/zlibConfig.cmake.in
+++ b/zlibConfig.cmake.in
@@ -1,3 +1,26 @@
1set(zlib_VERSION @zlib_VERSION@)
2@PACKAGE_INIT@ 1@PACKAGE_INIT@
3INCLUDE (${CMAKE_CURRENT_LIST_DIR}/ZLIB.cmake) 2
3set(_ZLIB_supported_components "")
4
5if(@ZLIB_BUILD_SHARED@)
6 list(APPEND _ZLIB_supported_components shared)
7endif(@ZLIB_BUILD_SHARED@)
8
9if(@ZLIB_BUILD_STATIC@)
10 list(APPEND _ZLIB_supported_components static)
11endif(@ZLIB_BUILD_STATIC@)
12
13if(ZLIB_FIND_COMPONENTS)
14 foreach(_comp ${ZLIB_FIND_COMPONENTS})
15 if (NOT _comp IN_LIST _ZLIB_supported_components)
16 set(ZLIB_FOUND False)
17 set(ZLIB_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
18 endif(NOT _comp IN_LIST _ZLIB_supported_components)
19
20 include("${CMAKE_CURRENT_LIST_DIR}/ZLIB-${_comp}.cmake")
21 endforeach(_comp ${ZLIB_FIND_COMPONENTS})
22else(ZLIB_FIND_COMPONENTS)
23 foreach(_component_config IN LISTS _ZLIB_supported_components)
24 include("${CMAKE_CURRENT_LIST_DIR}/ZLIB-${_component_config}.cmake")
25 endforeach(_component_config IN LISTS _ZLIB_supported_components)
26endif(ZLIB_FIND_COMPONENTS)