From: Uilian Ries Date: Fri, 15 Dec 2023 13:25:30 +0000 (+0100) Subject: Export cmake target (#1601) X-Git-Tag: 2.1.6~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec7ffb3d9a811953164773efb77a807ccc5e2cdf;p=thirdparty%2Fzlib-ng.git Export cmake target (#1601) * Export cmake target * Mimic zlib target name --------- Signed-off-by: Uilian Ries --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fbc2bdbaf..41f8dd0fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,9 +152,11 @@ if(ZLIB_COMPAT) set(WITH_GZFILEOP ON) set(SUFFIX "") set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) + set(EXPORT_NAME ZLIB) else() set(SUFFIX "-ng") set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) + set(EXPORT_NAME zlib-ng) endif() if(WITH_GZFILEOP) @@ -1199,6 +1201,22 @@ if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) endif() if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL) install(FILES ${ZLIB_PC} DESTINATION "${PKGCONFIG_INSTALL_DIR}") + # INFO: Mimics official zlib CMake target + # Generates ZLIB.cmake in case ZLIB_COMPAT=ON and always exports the CMake target ZLIB::ZLIB + # In case ZLIB_COMPAT=OFF, the CMake target and file follows zlib-ng naming convention + if (ZLIB_COMPAT) + if (TARGET zlib) + set_target_properties(zlib PROPERTIES EXPORT_NAME ZLIB) + else() + set_target_properties(zlibstatic PROPERTIES EXPORT_NAME ZLIB) + endif() + endif() + install(TARGETS ${ZLIB_INSTALL_LIBRARIES} + EXPORT ${EXPORT_NAME} + DESTINATION "${CMAKE_INSTALL_LIBDIR}") + install(EXPORT ${EXPORT_NAME} + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}" + NAMESPACE ${EXPORT_NAME}::) endif() #============================================================================