CMake: Add components selection.

This commit is contained in:
Vollstrecker 2024-12-31 12:55:38 +01:00 committed by Mark Adler
parent e843c631d6
commit abf7487d6c
4 changed files with 76 additions and 29 deletions

View file

@ -231,10 +231,14 @@ if(ZLIB_INSTALL_LIBRARIES)
if(ZLIB_BUILD_SHARED)
install(TARGETS zlib
COMPONENT Runtime
EXPORT zlibExport
EXPORT zlibSharedExport
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(EXPORT zlibSharedExport
FILE ZLIB-shared.cmake
NAMESPACE ZLIB::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
if(ZLIB_INSTALL_COMPAT_DLL)
install(FILES $<TARGET_FILE:zlib>
COMPONENT Runtime
@ -255,23 +259,26 @@ if(ZLIB_INSTALL_LIBRARIES)
if(ZLIB_BUILD_STATIC)
install(TARGETS zlibstatic
COMPONENT Development
EXPORT zlibExport
EXPORT zlibStaticExport
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(EXPORT zlibStaticExport
FILE ZLIB-static.cmake
NAMESPACE ZLIB::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
if(ZLIB_INSTALL_COMPAT_DLL AND MINGW)
install(FILES $<TARGET_FILE:zlibstatic>
COMPONENT Development
RENAME libz.dll.a
DESTINATION "${CMAKE_INSTALL_LIBDIR}")
endif(ZLIB_INSTALL_COMPAT_DLL AND MINGW)
endif(ZLIB_BUILD_STATIC)
configure_package_config_file(${zlib_SOURCE_DIR}/zlibConfig.cmake.in
${zlib_BINARY_DIR}/ZLIBConfig.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
write_basic_package_version_file(
"${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake"
@ -282,12 +289,6 @@ if(ZLIB_INSTALL_LIBRARIES)
${zlib_BINARY_DIR}/ZLIBConfig.cmake
${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib)
install(EXPORT zlibExport
FILE ZLIB.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib
NAMESPACE ZLIB::)
install(FILES ${ZLIB_PUBLIC_HDRS}
COMPONENT Development
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

View file

@ -247,10 +247,14 @@ if(MINIZIP_INSTALL)
if(MINIZIP_BUILD_SHARED)
install(TARGETS libminizip minizip miniunzip
COMPONENT Runtime
EXPORT minizipExport
EXPORT minizipSharedExport
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(EXPORT minizipSharedExport
FILE minizip-shared.cmake
NAMESPACE MINIZIP::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
if(MINIZIP_INSTALL_COMPAT_DLL)
install(FILES $<TARGET_FILE:libminizip>
COMPONENT Runtime
@ -273,32 +277,27 @@ if(MINIZIP_INSTALL)
COMPONENT Development
TARGETS minizipstatic miniunzipstatic
COMPONENT Runtime
EXPORT minizipExport
EXPORT minizipStaticExport
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(EXPORT minizipStaticExport
FILE minizip-static.cmake
NAMESPACE MINIZIP::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
endif(MINIZIP_BUILD_STATIC)
configure_package_config_file(${minizip_SOURCE_DIR}/minizipConfig.cmake.in
${minizip_BINARY_DIR}/minizipConfig.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
write_basic_package_version_file(
"${minizip_BINARY_DIR}/minizipConfigVersion.cmake"
VERSION "${minizip_VERSION}"
COMPATIBILITY AnyNewerVersion)
install(FILES
${minizip_BINARY_DIR}/minizipConfig.cmake
${minizip_BINARY_DIR}/minizipConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip)
install(EXPORT minizipExport
FILE minizip.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip
NAMESPACE MINIZIP::)
install(FILES ${LIBMINIZIP_HDRS}
COMPONENT Development
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

View file

@ -1,6 +1,30 @@
set(minizip_VERSION @minizip_VERSION@)
set(MINIZIP_ENABLE_BZIP2 @BZIP2_FOUND@)
@PACKAGE_INIT@
set(_minizip_supported_components "")
include(CMakeFindDependencyMacro)
find_dependency(ZLIB CONFIG)
INCLUDE (${CMAKE_CURRENT_LIST_DIR}/minizip.cmake)
if(@MINIZIP_BUILD_SHARED@)
list(APPEND _minizip_supported_components shared)
endif(@MINIZIP_BUILD_SHARED@)
if(@MINIZIP_BUILD_STATIC@)
list(APPEND _minizip_supported_components static)
endif(@MINIZIP_BUILD_STATIC@)
if(minizip_FIND_COMPONENTS)
find_dependency(ZLIB CONFIG COMPONENTS ${minizip_FIND_COMPONENTS})
foreach(_comp ${minizip_FIND_COMPONENTS})
if (NOT _comp IN_LIST _MINIZIP_supported_components)
set(minizip_FOUND False)
set(minizip_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
endif(NOT _comp IN_LIST _MINIZIP_supported_components)
include("${CMAKE_CURRENT_LIST_DIR}/minizip-${_comp}.cmake")
endforeach(_comp ${ZLIB_FIND_COMPONENTS})
else(minizip_FIND_COMPONENTS)
find_dependency(ZLIB CONFIG)
foreach(_component_config IN LISTS _minizip_supported_components)
include("${CMAKE_CURRENT_LIST_DIR}/minizip-${_component_config}.cmake")
endforeach(_component_config IN LISTS _minizip_supported_components)
endif(minizip_FIND_COMPONENTS)

View file

@ -1,3 +1,26 @@
set(zlib_VERSION @zlib_VERSION@)
@PACKAGE_INIT@
INCLUDE (${CMAKE_CURRENT_LIST_DIR}/ZLIB.cmake)
set(_ZLIB_supported_components "")
if(@ZLIB_BUILD_SHARED@)
list(APPEND _ZLIB_supported_components shared)
endif(@ZLIB_BUILD_SHARED@)
if(@ZLIB_BUILD_STATIC@)
list(APPEND _ZLIB_supported_components static)
endif(@ZLIB_BUILD_STATIC@)
if(ZLIB_FIND_COMPONENTS)
foreach(_comp ${ZLIB_FIND_COMPONENTS})
if (NOT _comp IN_LIST _ZLIB_supported_components)
set(ZLIB_FOUND False)
set(ZLIB_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
endif(NOT _comp IN_LIST _ZLIB_supported_components)
include("${CMAKE_CURRENT_LIST_DIR}/ZLIB-${_comp}.cmake")
endforeach(_comp ${ZLIB_FIND_COMPONENTS})
else(ZLIB_FIND_COMPONENTS)
foreach(_component_config IN LISTS _ZLIB_supported_components)
include("${CMAKE_CURRENT_LIST_DIR}/ZLIB-${_component_config}.cmake")
endforeach(_component_config IN LISTS _ZLIB_supported_components)
endif(ZLIB_FIND_COMPONENTS)