authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-05-28 20:51:18-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-05-29 17:22:27-07:00
logf8bc5294f247f2fcc8e0dce1e03cbef3e0d02bf7
tree3ef278d86ee5cdf81dcb628029de791b1763bff8
parentc12704a3395a11c28569ebb160e6ac33091d983a

cmake: LLVM needs to link against zlib

For more details on why this dependency is needed, see https://github.com/ziglang/zig-bootstrap/issues/57

1 files changed, 7 insertions(+), 3 deletions(-)

CMakeLists.txt+7-3
...@@ -67,6 +67,7 @@ message("Configuring zig version ${ZIG_VERSION}")...@@ -67,6 +67,7 @@ message("Configuring zig version ${ZIG_VERSION}")
6767
68set(ZIG_STATIC off CACHE BOOL "Attempt to build a static zig executable (not compatible with glibc)")68set(ZIG_STATIC off CACHE BOOL "Attempt to build a static zig executable (not compatible with glibc)")
69set(ZIG_STATIC_LLVM off CACHE BOOL "Prefer linking against static LLVM libraries")69set(ZIG_STATIC_LLVM off CACHE BOOL "Prefer linking against static LLVM libraries")
70set(ZIG_STATIC_ZLIB off CACHE BOOL "Prefer linking against static zlib")
70set(ZIG_PREFER_CLANG_CPP_DYLIB off CACHE BOOL "Try to link against -lclang-cpp")71set(ZIG_PREFER_CLANG_CPP_DYLIB off CACHE BOOL "Try to link against -lclang-cpp")
71set(ZIG_USE_CCACHE off CACHE BOOL "Use ccache if available")72set(ZIG_USE_CCACHE off CACHE BOOL "Use ccache if available")
7273
...@@ -75,7 +76,8 @@ if(CCACHE_PROGRAM AND ZIG_USE_CCACHE)...@@ -75,7 +76,8 @@ if(CCACHE_PROGRAM AND ZIG_USE_CCACHE)
75endif()76endif()
7677
77if(ZIG_STATIC)78if(ZIG_STATIC)
78 set(ZIG_STATIC_LLVM "on")79 set(ZIG_STATIC_LLVM ON)
80 set(ZIG_STATIC_ZLIB ON)
79endif()81endif()
8082
81string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_LIBC_LIB_DIR_ESCAPED "${ZIG_LIBC_LIB_DIR}")83string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_LIBC_LIB_DIR_ESCAPED "${ZIG_LIBC_LIB_DIR}")
...@@ -101,11 +103,13 @@ find_package(llvm)...@@ -101,11 +103,13 @@ find_package(llvm)
101find_package(clang)103find_package(clang)
102find_package(lld)104find_package(lld)
103105
104if(APPLE AND ZIG_STATIC)106if(ZIG_STATIC_ZLIB)
105 list(REMOVE_ITEM LLVM_LIBRARIES "-lz")107 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)
107 list(APPEND LLVM_LIBRARIES "${ZLIB}")109 list(APPEND LLVM_LIBRARIES "${ZLIB}")
110endif()
108111
112if(APPLE AND ZIG_STATIC)
109 list(REMOVE_ITEM LLVM_LIBRARIES "-lcurses")113 list(REMOVE_ITEM LLVM_LIBRARIES "-lcurses")
110 find_library(CURSES NAMES libcurses.a curses libcurses libncurses.a ncurses libncurses)114 find_library(CURSES NAMES libcurses.a curses libcurses libncurses.a ncurses libncurses)
111 list(APPEND LLVM_LIBRARIES "${CURSES}")115 list(APPEND LLVM_LIBRARIES "${CURSES}")