From abf7487d6c3dd12dde50bd54489cfc99cef59770 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Tue, 31 Dec 2024 12:55:38 +0100 Subject: CMake: Add components selection. --- contrib/minizip/CMakeLists.txt | 23 +++++++++++------------ contrib/minizip/minizipConfig.cmake.in | 32 ++++++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 16 deletions(-) (limited to 'contrib') 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) 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 $ 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}") 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 @@ -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) -- cgit v1.2.3-55-g6feb