From d58e00ddae0d4d6d68db565482aeb47597e00a25 Mon Sep 17 00:00:00 2001 From: Udit Kumar Agarwal Date: Wed, 28 May 2025 07:09:25 -0700 Subject: [PATCH] [CMake] Fix config when static zstd libraries are not found (#113584) Fixes: https://github.com/llvm/llvm-project/issues/113583 --- llvm/cmake/config-ix.cmake | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake index 9d59fea8799b..687f5077cbfd 100644 --- a/llvm/cmake/config-ix.cmake +++ b/llvm/cmake/config-ix.cmake @@ -195,8 +195,19 @@ if(LLVM_ENABLE_ZSTD) elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") find_package(zstd QUIET) endif() + + # If LLVM_USE_STATIC_ZSTD is specified, make sure we enable zstd only if static + # libraries are found. + if(LLVM_USE_STATIC_ZSTD AND NOT TARGET zstd::libzstd_static) + # Fail if LLVM_ENABLE_ZSTD is FORCE_ON. + if(LLVM_ENABLE_ZSTD STREQUAL FORCE_ON) + message(FATAL_ERROR "Failed to find static zstd libraries, but LLVM_USE_STATIC_ZSTD=ON and LLVM_ENABLE_ZSTD=FORCE_ON.") + endif() + set(LLVM_ENABLE_ZSTD OFF) + else() + set(LLVM_ENABLE_ZSTD ${zstd_FOUND}) + endif() endif() -set(LLVM_ENABLE_ZSTD ${zstd_FOUND}) if(LLVM_ENABLE_LIBXML2) if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON)