From f23d79135f8a56b6dcb81d6c3e2f919ff3874c1b Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Sun, 9 Dec 2012 23:16:17 +0100 Subject: [PATCH] Make sure to include -fno-rtti in LLVM_CXXFLAGS. --- cmake/Modules/FindLLVM.cmake | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmake/Modules/FindLLVM.cmake b/cmake/Modules/FindLLVM.cmake index 064e6f5c..be2accf4 100644 --- a/cmake/Modules/FindLLVM.cmake +++ b/cmake/Modules/FindLLVM.cmake @@ -95,6 +95,14 @@ else() llvm_set(LIBRARY_DIRS libdir) llvm_set_libs(LIBRARIES libfiles "${LLVM_LIBRARY_DIRS}/") llvm_set(ROOT_DIR prefix) + + # On CMake builds of LLVM, the output of llvm-config --cxxflags does not + # include -fno-rtti, leading to linker errors. Be sure to add it. + if(CMAKE_COMPILER_IS_GNUCXX OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")) + if(NOT ${LLVM_CXXFLAGS} MATCHES "-fno-rtti") + set(LLVM_CXXFLAGS "${LLVM_CXXFLAGS} -fno-rtti") + endif() + endif() endif() string(REGEX REPLACE "([0-9]+).*" "\\1" LLVM_VERSION_MAJOR "${LLVM_VERSION_STRING}" )