diff --git a/clang-tools-extra/clangd/index/remote/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/CMakeLists.txt --- a/clang-tools-extra/clangd/index/remote/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/CMakeLists.txt @@ -18,6 +18,8 @@ protobuf grpc++ clangDaemon + + DONT_CHECK_FILE_LIST ) add_subdirectory(marshalling) diff --git a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt --- a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt @@ -5,14 +5,12 @@ add_clang_executable(clangd-index-server Server.cpp ) -target_compile_definitions(clangd-index-server PRIVATE -D GOOGLE_PROTOBUF_NO_RTTI=1) -clang_target_link_libraries(clangd-index-server - PRIVATE - clangDaemon - ) target_link_libraries(clangd-index-server PRIVATE - RemoteIndexProtos + clangDaemon + RemoteIndexProtos clangdRemoteMarshalling + + grpc++ ) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -409,7 +409,7 @@ # ) function(llvm_add_library name) cmake_parse_arguments(ARG - "MODULE;SHARED;STATIC;OBJECT;DISABLE_LLVM_LINK_LLVM_DYLIB;SONAME;NO_INSTALL_RPATH;COMPONENT_LIB" + "MODULE;SHARED;STATIC;OBJECT;DISABLE_LLVM_LINK_LLVM_DYLIB;SONAME;NO_INSTALL_RPATH;COMPONENT_LIB;DONT_CHECK_FILE_LIST" "OUTPUT_NAME;PLUGIN_TOOL;ENTITLEMENTS;BUNDLE_PATH" "ADDITIONAL_HEADERS;DEPENDS;LINK_COMPONENTS;LINK_LIBS;OBJLIBS" ${ARGN}) @@ -421,7 +421,11 @@ if(ARG_OBJLIBS) set(ALL_FILES ${ARG_OBJLIBS}) else() - llvm_process_sources(ALL_FILES ${ARG_UNPARSED_ARGUMENTS} ${ARG_ADDITIONAL_HEADERS}) + if (ARG_DONT_CHECK_FILE_LIST) + llvm_process_sources(ALL_FILES ${ARG_UNPARSED_ARGUMENTS} ${ARG_ADDITIONAL_HEADERS} DONT_CHECK_FILE_LIST) + else() + llvm_process_sources(ALL_FILES ${ARG_UNPARSED_ARGUMENTS} ${ARG_ADDITIONAL_HEADERS}) + endif() endif() if(ARG_MODULE) 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 @@ -45,6 +45,7 @@ "${ProtoSourceAbsolutePath}" DEPENDS "${ProtoSourceAbsolutePath}") - add_library(${LibraryName} ${GeneratedProtoSource} ${GeneratedGRPCSource}) - target_link_libraries(${LibraryName} grpc++ protobuf) + add_clang_library(${LibraryName} ${GeneratedProtoSource} ${GeneratedGRPCSource} + DONT_CHECK_FILE_LIST + LINK_LIBS grpc++ protobuf) endfunction() diff --git a/llvm/cmake/modules/LLVMProcessSources.cmake b/llvm/cmake/modules/LLVMProcessSources.cmake --- a/llvm/cmake/modules/LLVMProcessSources.cmake +++ b/llvm/cmake/modules/LLVMProcessSources.cmake @@ -57,10 +57,12 @@ function(llvm_process_sources OUT_VAR) - cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" ${ARGN}) + cmake_parse_arguments(ARG "DONT_CHECK_FILE_LIST" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" ${ARGN}) set(sources ${ARG_UNPARSED_ARGUMENTS}) - llvm_check_source_file_list( ${sources} ) - + if (NOT ARG_DONT_CHECK_FILE_LIST) + llvm_check_source_file_list(${sources}) + endif() + # This adds .td and .h files to the Visual Studio solution: add_td_sources(sources) find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")