From 48d0feb983232250b42785c04fc87251d436f4d3 Mon Sep 17 00:00:00 2001 From: Dan Liew Date: Mon, 19 Dec 2016 11:49:41 +0000 Subject: [CMake] Fix linker warning about mixed linking modes when LLVM was built with `-fvisibility-inlines-hidden`. This was observed when using a bottled version of LLVM 3.4 on macOS that appears to have been built with this option. --- cmake/find_llvm.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'cmake') diff --git a/cmake/find_llvm.cmake b/cmake/find_llvm.cmake index 53b2b392..0df6b4b5 100644 --- a/cmake/find_llvm.cmake +++ b/cmake/find_llvm.cmake @@ -33,6 +33,8 @@ if (USE_CMAKE_FIND_PACKAGE_LLVM) endif() set(${output_var} ${${output_var}} PARENT_SCOPE) endfunction() + # HACK: This information is not exported so just pretend its OFF for now. + set(LLVM_ENABLE_VISIBILITY_INLINES_HIDDEN OFF) else() # Use the llvm-config binary to get the information needed. # Try to detect it in the user's environment. The user can @@ -116,6 +118,7 @@ else() set(LLVM_ENABLE_ASSERTIONS ON) set(LLVM_ENABLE_EH ON) set(LLVM_ENABLE_RTTI ON) + set(LLVM_ENABLE_VISIBILITY_INLINES_HIDDEN OFF) _run_llvm_config(_llvm_cxx_flags "--cxxflags") string_to_list("${_llvm_cxx_flags}" _llvm_cxx_flags_list) foreach (flag ${_llvm_cxx_flags_list}) @@ -127,6 +130,8 @@ else() set(LLVM_ENABLE_EH OFF) elseif ("${flag}" STREQUAL "-fno-rtti") set(LLVM_ENABLE_RTTI OFF) + elseif ("${flag}" STREQUAL "-fvisibility-inlines-hidden") + set(LLVM_ENABLE_VISIBILITY_INLINES_HIDDEN ON) endif() endforeach() -- cgit 1.4.1