[llvm] [CMake] Pass ZLIB_LIBRARY_* to runtimes bootstrap (PR #191555)

Alexandre Ganea via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 13 05:34:23 PDT 2026


https://github.com/aganea updated https://github.com/llvm/llvm-project/pull/191555

>From 2a597c8b86fedb5303bc330bf8cb819e9e944e73 Mon Sep 17 00:00:00 2001
From: Alexandre Ganea <aganea at havenstudios.com>
Date: Fri, 10 Apr 2026 15:16:26 -0400
Subject: [PATCH] [CMake] Pass ZLIB_LIBRARY_* to runtimes bootstrap

Runtimes external project (compiler-rt / combined runtimes) reconfigures with
an initial cache that did not propagate ZLIB_LIBRARY_RELEASE. CMake 4.x
FindZLIB may leave ZLIB_LIBRARY unset while finding headers, leading to:

   -- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "...")

and later when loading LLVM exports from the main build:

   The link interface of target "LLVMSupport" contains: ZLIB::ZLIB
   but the target was not found.
---
 llvm/cmake/modules/LLVMExternalProjectUtils.cmake | 2 ++
 llvm/utils/release/build_llvm_release.bat         | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake
index 61f3bc83a83ab..1c44a106e94af 100644
--- a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+++ b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake
@@ -179,6 +179,8 @@ function(llvm_ExternalProject_Add name source_dir)
     LibEdit_LIBRARIES
     ZLIB_INCLUDE_DIR
     ZLIB_LIBRARY
+    ZLIB_LIBRARY_RELEASE
+    ZLIB_LIBRARY_DEBUG
     zstd_INCLUDE_DIR
     zstd_LIBRARY
     LIBXML2_LIBRARY
diff --git a/llvm/utils/release/build_llvm_release.bat b/llvm/utils/release/build_llvm_release.bat
index 50baef4bece8a..0f6dbb36ad784 100644
--- a/llvm/utils/release/build_llvm_release.bat
+++ b/llvm/utils/release/build_llvm_release.bat
@@ -246,6 +246,7 @@ set cmake_flags=^
   -DLIBXML2_LIBRARIES=%libxmldir%/lib/libxml2s.lib ^
   -DZLIB_INCLUDE_DIR=%zlibdir%/include ^
   -DZLIB_LIBRARY=%zlibdir%/lib/zs.lib ^
+  -DZLIB_LIBRARY_RELEASE=%zlibdir%/lib/zs.lib ^
   -Dzstd_INCLUDE_DIR=%zstddir%/include ^
   -Dzstd_LIBRARY=%zstddir%/lib/zstd_static.lib
 
@@ -312,6 +313,7 @@ set cmake_flags=^
   -DLIBXML2_LIBRARIES=%libxmldir%/lib/libxml2s.lib ^
   -DZLIB_INCLUDE_DIR=%zlibdir%/include ^
   -DZLIB_LIBRARY=%zlibdir%/lib/zs.lib ^
+  -DZLIB_LIBRARY_RELEASE=%zlibdir%/lib/zs.lib ^
   -Dzstd_INCLUDE_DIR=%zstddir%/include ^
   -Dzstd_LIBRARY=%zstddir%/lib/zstd_static.lib ^
   -DCLANG_DEFAULT_LINKER=lld



More information about the llvm-commits mailing list