diff --git a/llvm/cmake/modules/FindGRPC.cmake b/llvm/cmake/modules/FindGRPC.cmake --- a/llvm/cmake/modules/FindGRPC.cmake +++ b/llvm/cmake/modules/FindGRPC.cmake @@ -132,7 +132,12 @@ ARGS ${Flags} "${ProtoSourceAbsolutePath}" DEPENDS "${ProtoSourceAbsolutePath}") - add_llvm_library(${LibraryName} ${GeneratedProtoSource} + set(LIBTYPE STATIC) + if(NOT XCODE) + # The Xcode generator doesn't handle object libraries correctly. + list(APPEND LIBTYPE OBJECT) + endif() + llvm_add_library(${LibraryName} ${LIBTYPE} ${GeneratedProtoSource} PARTIAL_SOURCES_INTENDED LINK_LIBS PUBLIC grpc++ protobuf)