diff options
author | Vollstrecker <werner@vollstreckernet.de> | 2024-12-31 12:55:38 +0100 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2025-01-31 20:02:26 -0800 |
commit | abf7487d6c3dd12dde50bd54489cfc99cef59770 (patch) | |
tree | 1c5add290415cec005c5559cd4c5fd78b86f6e94 | |
parent | e843c631d6c677bb8585c31b0b960d281cfc42bc (diff) | |
download | zlib-abf7487d6c3dd12dde50bd54489cfc99cef59770.tar.gz zlib-abf7487d6c3dd12dde50bd54489cfc99cef59770.tar.bz2 zlib-abf7487d6c3dd12dde50bd54489cfc99cef59770.zip |
CMake: Add components selection.
-rw-r--r-- | CMakeLists.txt | 23 | ||||
-rw-r--r-- | contrib/minizip/CMakeLists.txt | 23 | ||||
-rw-r--r-- | contrib/minizip/minizipConfig.cmake.in | 32 | ||||
-rw-r--r-- | zlibConfig.cmake.in | 27 |
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 @@ | |||
1 | set(minizip_VERSION @minizip_VERSION@) | ||
2 | set(MINIZIP_ENABLE_BZIP2 @BZIP2_FOUND@) | ||
3 | @PACKAGE_INIT@ | 1 | @PACKAGE_INIT@ |
2 | |||
3 | set(_minizip_supported_components "") | ||
4 | include(CMakeFindDependencyMacro) | 4 | include(CMakeFindDependencyMacro) |
5 | find_dependency(ZLIB CONFIG) | 5 | if(@MINIZIP_BUILD_SHARED@) |
6 | INCLUDE (${CMAKE_CURRENT_LIST_DIR}/minizip.cmake) | 6 | list(APPEND _minizip_supported_components shared) |
7 | endif(@MINIZIP_BUILD_SHARED@) | ||
8 | |||
9 | if(@MINIZIP_BUILD_STATIC@) | ||
10 | list(APPEND _minizip_supported_components static) | ||
11 | endif(@MINIZIP_BUILD_STATIC@) | ||
12 | |||
13 | if(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}) | ||
24 | else(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) | ||
30 | endif(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 @@ | |||
1 | set(zlib_VERSION @zlib_VERSION@) | ||
2 | @PACKAGE_INIT@ | 1 | @PACKAGE_INIT@ |
3 | INCLUDE (${CMAKE_CURRENT_LIST_DIR}/ZLIB.cmake) | 2 | |
3 | set(_ZLIB_supported_components "") | ||
4 | |||
5 | if(@ZLIB_BUILD_SHARED@) | ||
6 | list(APPEND _ZLIB_supported_components shared) | ||
7 | endif(@ZLIB_BUILD_SHARED@) | ||
8 | |||
9 | if(@ZLIB_BUILD_STATIC@) | ||
10 | list(APPEND _ZLIB_supported_components static) | ||
11 | endif(@ZLIB_BUILD_STATIC@) | ||
12 | |||
13 | if(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}) | ||
22 | else(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) | ||
26 | endif(ZLIB_FIND_COMPONENTS) | ||