Skip to content

Commit

Permalink
[gn] Move Features.inc to clangd, create a config for it
Browse files Browse the repository at this point in the history
ClangdLSPServer and clangd unittests now include Features.inc so we
need to append the target_gen_dir that contains it to their
include_dirs. To do so, we use a public config that's applied to
any target that depends on the features one.

Differential Revision: https://reviews.llvm.org/D60919

llvm-svn: 358837
  • Loading branch information
petrhosek committed Apr 21, 2019
1 parent 7fc7b36 commit 33b9964
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 20 deletions.
22 changes: 22 additions & 0 deletions llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
@@ -1,7 +1,29 @@
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",
Expand Down
22 changes: 2 additions & 20 deletions llvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn
@@ -1,25 +1,12 @@
import("//clang-tools-extra/clangd/xpc/enable.gni")
import("//llvm/utils/gn/build/write_cmake_config.gni")

write_cmake_config("features") {
# FIXME: Try moving Features.inc.in to tools, seems like a better location.
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" ]
}
}


executable("clangd") {
configs += [ "//llvm/utils/gn/build:clang_code" ]
deps = [
":features",
"//clang-tools-extra/clang-tidy",
"//clang-tools-extra/clangd",
"//clang-tools-extra/clangd:features",
"//clang-tools-extra/clangd/refactor/tweaks",
"//clang/lib/AST",
"//clang/lib/Basic",
Expand All @@ -37,12 +24,7 @@ executable("clangd") {
]
}

include_dirs = [
"..",

# To pick up the generated inc files.
"$target_gen_dir",
]
include_dirs = [ ".." ]
sources = [
"ClangdMain.cpp",
]
Expand Down
Expand Up @@ -5,6 +5,7 @@ unittest("ClangdTests") {
deps = [
"//clang-tools-extra/clang-tidy",
"//clang-tools-extra/clangd",
"//clang-tools-extra/clangd:features",
"//clang-tools-extra/clangd/refactor/tweaks",
"//clang/lib/AST",
"//clang/lib/Basic",
Expand Down

0 comments on commit 33b9964

Please sign in to comment.