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 ()