reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
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",
    "//clang-tools-extra/clang-tidy:all-checks",
    "//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",
    "//clang/lib/Tooling/Syntax",
    "//llvm/lib/Support",
    "//llvm/lib/Target:AllTargetsInfos",
    "//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",
    "CodeComplete.cpp",
    "CodeCompletionStrings.cpp",
    "Compiler.cpp",
    "Context.cpp",
    "Diagnostics.cpp",
    "DraftStore.cpp",
    "ExpectedTypes.cpp",
    "FS.cpp",
    "FSProvider.cpp",
    "FileDistance.cpp",
    "FindSymbols.cpp",
    "FindTarget.cpp",
    "Format.cpp",
    "FormattedString.cpp",
    "FuzzyMatch.cpp",
    "GlobalCompilationDatabase.cpp",
    "HeaderSourceSwitch.cpp",
    "Headers.cpp",
    "IncludeFixer.cpp",
    "JSONTransport.cpp",
    "Logger.cpp",
    "ParsedAST.cpp",
    "Preamble.cpp",
    "Protocol.cpp",
    "Quality.cpp",
    "QueryDriverDatabase.cpp",
    "RIFF.cpp",
    "Selection.cpp",
    "SemanticHighlighting.cpp",
    "SemanticSelection.cpp",
    "SourceCode.cpp",
    "TUScheduler.cpp",
    "Threading.cpp",
    "Trace.cpp",
    "URI.cpp",
    "XRefs.cpp",
    "index/Background.cpp",
    "index/BackgroundIndexLoader.cpp",
    "index/BackgroundIndexStorage.cpp",
    "index/BackgroundQueue.cpp",
    "index/BackgroundRebuild.cpp",
    "index/CanonicalIncludes.cpp",
    "index/FileIndex.cpp",
    "index/Index.cpp",
    "index/IndexAction.cpp",
    "index/MemIndex.cpp",
    "index/Merge.cpp",
    "index/Ref.cpp",
    "index/Relation.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/Rename.cpp",
    "refactor/Tweak.cpp",
  ]
}