zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 1bfc71d4dab0a7347f76dc6f0afc1346bd3dc3bb (tree)
parent 7733b5dbe603033a1ed9e8d0146ef7432d5ffd5b
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Tue,  8 Apr 2025 23:11:32 +0200

build: Set LLVM_BUILD_STATIC/CLANG_BUILD_STATIC when linking statically.

This is needed since LLVM 20, particularly for Windows.

Diffstat:
MCMakeLists.txt | 7+++++++
Mbuild.zig | 3+++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -698,6 +698,13 @@ add_library(zigcpp STATIC ${ZIG_CPP_SOURCES}) target_compile_features(zigcpp PRIVATE cxx_std_17) set_target_properties(zigcpp PROPERTIES POSITION_INDEPENDENT_CODE ${ZIG_PIE}) +if(LLVM_LINK_MODE STREQUAL "static") + target_compile_definitions(zigcpp PRIVATE + LLVM_BUILD_STATIC + CLANG_BUILD_STATIC + ) +endif() + if(NOT MSVC) if(MINGW) target_compile_options(zigcpp PRIVATE -Wno-format) diff --git a/build.zig b/build.zig @@ -706,6 +706,9 @@ const exe_cflags = [_][]const u8{ "-Wno-type-limits", "-Wno-missing-braces", "-Wno-comment", + // `exe_cflags` is only used for static linking. + "-DLLVM_BUILD_STATIC", + "-DCLANG_BUILD_STATIC", }; fn addCmakeCfgOptionsToExe(