From f40bbc53bffb905b735c2584c80da396b7a97ed0 Mon Sep 17 00:00:00 2001 From: Christophe Marin Date: Tue, 25 Mar 2025 11:44:48 +0100 Subject: [PATCH] Don't export libzstd_static CMake target Exporting the libzstd_static means it must be present when CMake looks for zstd, which breaks openSUSE policies. --- build/cmake/lib/CMakeLists.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index 4e902a1..2ce926d 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -138,7 +138,8 @@ endif () if (ZSTD_BUILD_STATIC) add_library(libzstd_static STATIC ${Sources} ${Headers}) target_include_directories(libzstd_static INTERFACE $) - list(APPEND library_targets libzstd_static) + # The static library is not added to the array to avoid requiring it when looking for zstd + # list(APPEND library_targets libzstd_static) if (ZSTD_MULTITHREAD_SUPPORT) set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD") if (UNIX) @@ -207,7 +208,7 @@ if (ZSTD_BUILD_SHARED) OUTPUT_NAME zstd VERSION ${ZSTD_FULL_VERSION} SOVERSION ${zstd_VERSION_MAJOR}) - + if (ZSTD_FRAMEWORK) set_target_properties( libzstd_shared @@ -283,6 +284,18 @@ install(TARGETS ${library_targets} PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) +if(ZSTD_BUILD_STATIC) + install(TARGETS libzstd_static + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) +endif() + # uninstall target if (NOT TARGET uninstall) configure_file( -- 2.49.0