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