blob: 5bfc2419454375e0e7d54b454e993727d6a1370b [file] [log] [blame]
if (CLANGD_ENABLE_REMOTE)
generate_protos(RemoteIndexProto "Index.proto")
generate_protos(MonitoringServiceProto "MonitoringService.proto"
GRPC)
generate_protos(RemoteIndexServiceProto "Service.proto"
DEPENDS "Index.proto"
GRPC)
# FIXME: Move this into generate_protos. Currently we only mention proto
# filename as a dependency, but linking requires target name.
target_link_libraries(RemoteIndexServiceProto
PRIVATE
RemoteIndexProto
MonitoringServiceProto
)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
# FIXME(kirillbobyrev): target_compile_definitions is not working with
# add_clang_library for some reason. Is there any way to make this
# target-local?
add_definitions(-DGOOGLE_PROTOBUF_NO_RTTI=1)
add_clang_library(clangdRemoteIndex
Client.cpp
LINK_LIBS
RemoteIndexProto
RemoteIndexServiceProto
clangdRemoteMarshalling
clangBasic
clangDaemon
clangdSupport
DEPENDS
RemoteIndexProto
RemoteIndexServiceProto
)
add_subdirectory(marshalling)
add_subdirectory(server)
add_subdirectory(monitor)
else()
# Provides a no-op implementation of clangdRemoteIndex.
add_subdirectory(unimplemented)
endif()