From 234f342f20b6daacfb85762750d947492fc55efb Mon Sep 17 00:00:00 2001 From: Dmitry Rogozhkin Date: Thu, 25 Jun 2026 07:41:57 -0700 Subject: [PATCH] [SYCL] Support build with shared libzstd (#22294) Distros of Fedora family package only shared libzstd build against which was not fully supported. This commit addresses the gap in a similar way as it's already handled in few other cases in llvm. See for reference: https://github.com/intel/llvm/blob/b09acde14f87bb417d5868905a684263beb32991/llvm/lib/Support/CMakeLists.txt#L28-L38 and: https://github.com/intel/llvm/blob/b09acde14f87bb417d5868905a684263beb32991/lld/ELF/CMakeLists.txt#L9-L18 Fixes: https://github.com/intel/llvm/issues/22310 CC: @sarnex Signed-off-by: Dmitry Rogozhkin --- sycl/source/CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sycl/source/CMakeLists.txt b/sycl/source/CMakeLists.txt index c7e943a629a6a..40327b594678b 100644 --- a/sycl/source/CMakeLists.txt +++ b/sycl/source/CMakeLists.txt @@ -159,9 +159,16 @@ function(add_sycl_rt_library LIB_NAME LIB_OBJ_NAME) endif() if (LLVM_ENABLE_ZSTD) + if (WIN32) + set(zstd_target ${zstd_STATIC_LIBRARY}) + elseif (TARGET zstd::libzstd_shared AND NOT LLVM_USE_STATIC_ZSTD) + set(zstd_target zstd::libzstd_shared) + else() + set(zstd_target zstd::libzstd_static) + endif() target_compile_definitions(${LIB_OBJ_NAME} PRIVATE SYCL_RT_ZSTD_AVAILABLE) - target_link_libraries(${LIB_NAME} PRIVATE ${zstd_STATIC_LIBRARY}) target_include_directories(${LIB_OBJ_NAME} PRIVATE ${zstd_INCLUDE_DIR}) + target_link_libraries(${LIB_NAME} PRIVATE ${zstd_target}) endif() target_link_libraries(${LIB_OBJ_NAME} PRIVATE emhash::emhash)