]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Add Homebrew LLVM libc++ library path on macOS
authorVsevolod Stakhov <vsevolod@rspamd.com>
Tue, 30 Dec 2025 11:09:18 +0000 (11:09 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 31 Dec 2025 09:47:07 +0000 (09:47 +0000)
cmake/Toolset.cmake

index 4e7017dfdca88306435a2b42926e08c617461b55..c3cc2f5493edccfe16c57b4a538cb55cee524670 100644 (file)
@@ -67,6 +67,18 @@ int main() { return 0; }
         set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
         set(CLANG_DEFAULT_CXX_STDLIB "libc++")
     endif ()
+
+    # Homebrew LLVM on macOS needs its bundled libc++ (https://github.com/Homebrew/homebrew-core/issues/169820)
+    if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+        get_filename_component(COMPILER_DIR "${CMAKE_CXX_COMPILER}" DIRECTORY)
+        get_filename_component(COMPILER_PREFIX "${COMPILER_DIR}" DIRECTORY)
+        set(HOMEBREW_LIBCXX_PATH "${COMPILER_PREFIX}/lib/c++")
+        if (EXISTS "${HOMEBREW_LIBCXX_PATH}")
+            message(STATUS "Using Homebrew libc++: ${HOMEBREW_LIBCXX_PATH}")
+            set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${HOMEBREW_LIBCXX_PATH}")
+            set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L${HOMEBREW_LIBCXX_PATH}")
+        endif ()
+    endif ()
 else ()
     message (WARNING "You are using an unsupported compiler ${CMAKE_C_COMPILER_ID}. Compilation has only been tested with Clang 4+ and GCC 4+.")
 endif ()