diff --git a/CMakeLists.txt b/CMakeLists.txt index 21a6ce82e8db561b3b2f217070508cb8fb4c6684..d8cf0c507d8d34c47eb00152e6b77a7b9d808664 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,11 @@ endif() message("Configuring zig version ${ZIG_VERSION}") set(ZIG_STATIC off CACHE BOOL "Attempt to build a static zig executable (not compatible with glibc)") +set(ZIG_STATIC_LLVM off CACHE BOOL "Prefer linking against static LLVM libraries") + +if(ZIG_STATIC) + set(ZIG_STATIC_LLVM "on") +endif() string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_LIBC_LIB_DIR_ESCAPED "${ZIG_LIBC_LIB_DIR}") string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_LIBC_STATIC_LIB_DIR_ESCAPED "${ZIG_LIBC_STATIC_LIB_DIR}") diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake index e13c1e741caa98dd81dbe5f57b9da776b0d35ae4..3eb6bd9003f0ab2163a6aeb2f934d12658ac4d3a 100644 --- a/cmake/Findllvm.cmake +++ b/cmake/Findllvm.cmake @@ -65,7 +65,7 @@ NEED_TARGET("WebAssembly") NEED_TARGET("X86") NEED_TARGET("XCore") -if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug") OR ZIG_STATIC) +if(ZIG_STATIC_LLVM) execute_process( COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES