commit 3a67c13b5db7efe28d4656d5da808f42ac026cc3 (tree)
parent 9dcddc2249217c8c99c9d07bb0187904847d2ae2
Author: daurnimator <quae@daurnimator.com>
Date: Tue, 9 Jul 2019 19:03:57 +1000
cmake: allow user to select static vs dynamic LLVM
Diffstat:
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git 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
@@ -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