Skip to content

Commit f8bc529

Browse files
committed
cmake: LLVM needs to link against zlib
For more details on why this dependency is needed, see ziglang/zig-bootstrap#57
1 parent c12704a commit f8bc529

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ message("Configuring zig version ${ZIG_VERSION}")
6767

6868
set(ZIG_STATIC off CACHE BOOL "Attempt to build a static zig executable (not compatible with glibc)")
6969
set(ZIG_STATIC_LLVM off CACHE BOOL "Prefer linking against static LLVM libraries")
70+
set(ZIG_STATIC_ZLIB off CACHE BOOL "Prefer linking against static zlib")
7071
set(ZIG_PREFER_CLANG_CPP_DYLIB off CACHE BOOL "Try to link against -lclang-cpp")
7172
set(ZIG_USE_CCACHE off CACHE BOOL "Use ccache if available")
7273

@@ -75,7 +76,8 @@ if(CCACHE_PROGRAM AND ZIG_USE_CCACHE)
7576
endif()
7677

7778
if(ZIG_STATIC)
78-
set(ZIG_STATIC_LLVM "on")
79+
set(ZIG_STATIC_LLVM ON)
80+
set(ZIG_STATIC_ZLIB ON)
7981
endif()
8082

8183
string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_LIBC_LIB_DIR_ESCAPED "${ZIG_LIBC_LIB_DIR}")
@@ -101,11 +103,13 @@ find_package(llvm)
101103
find_package(clang)
102104
find_package(lld)
103105

104-
if(APPLE AND ZIG_STATIC)
106+
if(ZIG_STATIC_ZLIB)
105107
list(REMOVE_ITEM LLVM_LIBRARIES "-lz")
106-
find_library(ZLIB NAMES libz.a z zlib libz)
108+
find_library(ZLIB NAMES libz.a libzlibstatic.a z zlib libz)
107109
list(APPEND LLVM_LIBRARIES "${ZLIB}")
110+
endif()
108111

112+
if(APPLE AND ZIG_STATIC)
109113
list(REMOVE_ITEM LLVM_LIBRARIES "-lcurses")
110114
find_library(CURSES NAMES libcurses.a curses libcurses libncurses.a ncurses libncurses)
111115
list(APPEND LLVM_LIBRARIES "${CURSES}")

0 commit comments

Comments
 (0)