[gn] Move Features.inc to clangd, create a config for it
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
This commit is contained in:
parent
7fc7b368bd
commit
33b996408f
|
|
@ -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") {
|
static_library("clangd") {
|
||||||
output_name = "clangDaemon"
|
output_name = "clangDaemon"
|
||||||
configs += [ "//llvm/utils/gn/build:clang_code" ]
|
configs += [ "//llvm/utils/gn/build:clang_code" ]
|
||||||
deps = [
|
deps = [
|
||||||
|
":features",
|
||||||
"//clang-tools-extra/clang-tidy/abseil",
|
"//clang-tools-extra/clang-tidy/abseil",
|
||||||
"//clang-tools-extra/clang-tidy/android",
|
"//clang-tools-extra/clang-tidy/android",
|
||||||
"//clang-tools-extra/clang-tidy/boost",
|
"//clang-tools-extra/clang-tidy/boost",
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,12 @@
|
||||||
import("//clang-tools-extra/clangd/xpc/enable.gni")
|
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") {
|
executable("clangd") {
|
||||||
configs += [ "//llvm/utils/gn/build:clang_code" ]
|
configs += [ "//llvm/utils/gn/build:clang_code" ]
|
||||||
deps = [
|
deps = [
|
||||||
":features",
|
|
||||||
"//clang-tools-extra/clang-tidy",
|
"//clang-tools-extra/clang-tidy",
|
||||||
"//clang-tools-extra/clangd",
|
"//clang-tools-extra/clangd",
|
||||||
|
"//clang-tools-extra/clangd:features",
|
||||||
"//clang-tools-extra/clangd/refactor/tweaks",
|
"//clang-tools-extra/clangd/refactor/tweaks",
|
||||||
"//clang/lib/AST",
|
"//clang/lib/AST",
|
||||||
"//clang/lib/Basic",
|
"//clang/lib/Basic",
|
||||||
|
|
@ -37,12 +24,7 @@ executable("clangd") {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
include_dirs = [
|
include_dirs = [ ".." ]
|
||||||
"..",
|
|
||||||
|
|
||||||
# To pick up the generated inc files.
|
|
||||||
"$target_gen_dir",
|
|
||||||
]
|
|
||||||
sources = [
|
sources = [
|
||||||
"ClangdMain.cpp",
|
"ClangdMain.cpp",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ unittest("ClangdTests") {
|
||||||
deps = [
|
deps = [
|
||||||
"//clang-tools-extra/clang-tidy",
|
"//clang-tools-extra/clang-tidy",
|
||||||
"//clang-tools-extra/clangd",
|
"//clang-tools-extra/clangd",
|
||||||
|
"//clang-tools-extra/clangd:features",
|
||||||
"//clang-tools-extra/clangd/refactor/tweaks",
|
"//clang-tools-extra/clangd/refactor/tweaks",
|
||||||
"//clang/lib/AST",
|
"//clang/lib/AST",
|
||||||
"//clang/lib/Basic",
|
"//clang/lib/Basic",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue