From f4624f3f032fefefe49e6bfd89fb7a3191abf3f9 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Tue, 3 Dec 2024 13:45:14 +0100 Subject: [PATCH] CMake: Add zlibExport. --- CMakeLists.txt | 23 +++++++++++++++++++++++ zlibConfig.cmake.in | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 zlibConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index b20a7eff..f474a5f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,7 @@ include(CheckTypeSize) include(CheckFunctionExists) include(CheckIncludeFile) include(CheckCSourceCompiles) +include(CMakePackageConfigHelpers) include(GNUInstallDirs) # @@ -158,6 +159,7 @@ if(ZLIB_INSTALL_LIBRARIES) if(ZLIB_BUILD_SHARED) install(TARGETS zlib COMPONENT Runtime + EXPORT zlibExport RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") @@ -181,11 +183,32 @@ if(ZLIB_INSTALL_LIBRARIES) if(ZLIB_BUILD_STATIC) install(TARGETS zlibstatic COMPONENT Development + EXPORT zlibExport RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") 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) + + write_basic_package_version_file( + "${zlib_BINARY_DIR}/zlibConfigVersion.cmake" + VERSION "${zlib_VERSION}" + COMPATIBILITY AnyNewerVersion) + + install(FILES + ${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}" diff --git a/zlibConfig.cmake.in b/zlibConfig.cmake.in new file mode 100644 index 00000000..aa11011e --- /dev/null +++ b/zlibConfig.cmake.in @@ -0,0 +1,2 @@ +@PACKAGE_INIT@ +INCLUDE (${CMAKE_CURRENT_LIST_DIR}/zlib.cmake)