diff --git a/llvm/lib/Target/CMakeLists.txt b/llvm/lib/Target/CMakeLists.txt --- a/llvm/lib/Target/CMakeLists.txt +++ b/llvm/lib/Target/CMakeLists.txt @@ -21,7 +21,8 @@ # When building shared objects for each target there are some internal APIs # that are used across shared objects which we can't hide. -if (NOT BUILD_SHARED_LIBS AND NOT APPLE) +if (NOT BUILD_SHARED_LIBS AND NOT APPLE AND + NOT DEFINED CMAKE_CXX_VISIBILITY_PRESET) # Set default visibility to hidden, so we don't export all the Target classes # in libLLVM.so. set(CMAKE_CXX_VISIBILITY_PRESET hidden)