blob: 24fa5b3f7e0b8763dc3360d020808caa6c49b2de [file] [log] [blame]
import("//clang-tools-extra/clangd/xpc/enable.gni")
import("//llvm/utils/gn/build/write_cmake_config.gni")
config("features_config") {
# To pick up the generated inc files.
include_dirs = [ target_gen_dir ]
visibility = [ ":features" ]
}
write_cmake_config("features") {
input = "Features.inc.in"
output = "$target_gen_dir/Features.inc"
values = []
if (clangd_build_xpc) {
values += [ "CLANGD_BUILD_XPC=1" ]
} else {
values += [ "CLANGD_BUILD_XPC=0" ]
}
public_configs = [ ":features_config" ]
}
static_library("clangd") {
output_name = "clangDaemon"
configs += [ "//llvm/utils/gn/build:clang_code" ]
deps = [
":features",
"//clang-tools-extra/clang-tidy/abseil",
"//clang-tools-extra/clang-tidy/android",
"//clang-tools-extra/clang-tidy/boost",
"//clang-tools-extra/clang-tidy/bugprone",
"//clang-tools-extra/clang-tidy/cert",
"//clang-tools-extra/clang-tidy/cppcoreguidelines",
"//clang-tools-extra/clang-tidy/fuchsia",
"//clang-tools-extra/clang-tidy/google",
"//clang-tools-extra/clang-tidy/hicpp",
"//clang-tools-extra/clang-tidy/llvm",
"//clang-tools-extra/clang-tidy/misc",
"//clang-tools-extra/clang-tidy/modernize",
"//clang-tools-extra/clang-tidy/objc",
"//clang-tools-extra/clang-tidy/performance",
"//clang-tools-extra/clang-tidy/portability",
"//clang-tools-extra/clang-tidy/readability",
"//clang-tools-extra/clang-tidy/zircon",
"//clang-tools-extra/clangd/tool:features",
"//clang/lib/AST",
"//clang/lib/ASTMatchers",
"//clang/lib/Basic",
"//clang/lib/Driver",
"//clang/lib/Format",
"//clang/lib/Frontend",
"//clang/lib/Index",
"//clang/lib/Lex",
"//clang/lib/Sema",
"//clang/lib/Serialization",
"//clang/lib/Tooling",
"//clang/lib/Tooling/Core",
"//clang/lib/Tooling/Inclusions",
"//clang/lib/Tooling/Refactoring",
"//llvm/lib/Support",
"//llvm/utils/gn/build/libs/atomic",
"//llvm/utils/gn/build/libs/pthread",
]
include_dirs = [
".",
# To pick up the generated inc files.
"$target_gen_dir/tool",
]
sources = [
"AST.cpp",
"Cancellation.cpp",
"ClangdLSPServer.cpp",
"ClangdServer.cpp",
"ClangdUnit.cpp",
"CodeComplete.cpp",
"CodeCompletionStrings.cpp",
"Compiler.cpp",
"Context.cpp",
"Diagnostics.cpp",
"DraftStore.cpp",
"ExpectedTypes.cpp",
"FS.cpp",
"FSProvider.cpp",
"FileDistance.cpp",
"FindSymbols.cpp",
"FuzzyMatch.cpp",
"GlobalCompilationDatabase.cpp",
"Headers.cpp",
"IncludeFixer.cpp",
"JSONTransport.cpp",
"Logger.cpp",
"Protocol.cpp",
"Quality.cpp",
"RIFF.cpp",
"Selection.cpp",
"SourceCode.cpp",
"TUScheduler.cpp",
"Threading.cpp",
"Trace.cpp",
"URI.cpp",
"XRefs.cpp",
"index/Background.cpp",
"index/BackgroundIndexStorage.cpp",
"index/CanonicalIncludes.cpp",
"index/FileIndex.cpp",
"index/Index.cpp",
"index/IndexAction.cpp",
"index/MemIndex.cpp",
"index/Merge.cpp",
"index/Ref.cpp",
"index/Serialization.cpp",
"index/Symbol.cpp",
"index/SymbolCollector.cpp",
"index/SymbolID.cpp",
"index/SymbolLocation.cpp",
"index/SymbolOrigin.cpp",
"index/YAMLSerialization.cpp",
"index/dex/Dex.cpp",
"index/dex/Iterator.cpp",
"index/dex/PostingList.cpp",
"index/dex/Trigram.cpp",
"refactor/Tweak.cpp",
]
}