forked from OSchip/llvm-project
Revert "Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups"
This reverts commit 90fffdd0f7
.
The original change relanded.
This commit is contained in:
parent
0c20d753d5
commit
3618ac203f
|
@ -1,3 +1,4 @@
|
|||
import("//clang-tools-extra/clangd/quality/gen_decision_forest.gni")
|
||||
import("//clang-tools-extra/clangd/xpc/enable.gni")
|
||||
import("//llvm/utils/gn/build/write_cmake_config.gni")
|
||||
|
||||
|
@ -20,10 +21,17 @@ write_cmake_config("features") {
|
|||
public_configs = [ ":features_config" ]
|
||||
}
|
||||
|
||||
gen_decision_forest("CompletionModel") {
|
||||
model = "quality/model"
|
||||
filename = "CompletionModel"
|
||||
cpp_class = "clang::clangd::Example"
|
||||
}
|
||||
|
||||
static_library("clangd") {
|
||||
output_name = "clangDaemon"
|
||||
configs += [ "//llvm/utils/gn/build:clang_code" ]
|
||||
deps = [
|
||||
":CompletionModel",
|
||||
":features",
|
||||
"//clang-tools-extra/clang-tidy",
|
||||
"//clang-tools-extra/clang-tidy:all-checks",
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
template("gen_decision_forest") {
|
||||
model = invoker.model
|
||||
filename = invoker.filename
|
||||
cpp_class = invoker.cpp_class
|
||||
|
||||
action("${target_name}Cpp") {
|
||||
script = "//clang-tools-extra/clangd/quality/CompletionModelCodegen.py"
|
||||
outputs = [
|
||||
"$target_gen_dir/$filename.cpp",
|
||||
"$target_gen_dir/$filename.h",
|
||||
]
|
||||
args = [
|
||||
"--model",
|
||||
rebase_path(model, root_build_dir),
|
||||
"--output_dir",
|
||||
rebase_path(target_gen_dir, root_build_dir),
|
||||
"--filename",
|
||||
filename,
|
||||
"--cpp_class",
|
||||
cpp_class,
|
||||
]
|
||||
}
|
||||
|
||||
config("${target_name}Config") {
|
||||
cflags = [ "-Wno-unused-label" ]
|
||||
}
|
||||
|
||||
source_set(target_name) {
|
||||
configs += [
|
||||
"//llvm/utils/gn/build:clang_code",
|
||||
":${target_name}Config",
|
||||
]
|
||||
deps = [ ":${target_name}Cpp" ]
|
||||
include_dirs = [ "." ]
|
||||
sources = get_target_outputs(":${target_name}Cpp")
|
||||
}
|
||||
}
|
|
@ -1,8 +1,16 @@
|
|||
import("//clang-tools-extra/clangd/quality/gen_decision_forest.gni")
|
||||
import("//llvm/utils/unittest/unittest.gni")
|
||||
|
||||
gen_decision_forest("DecisionForestRuntimeTest") {
|
||||
model = "decision_forest_model"
|
||||
filename = "DecisionForestRuntimeTest"
|
||||
cpp_class = "::ns1::ns2::test::Example"
|
||||
}
|
||||
|
||||
unittest("ClangdTests") {
|
||||
configs += [ "//llvm/utils/gn/build:clang_code" ]
|
||||
deps = [
|
||||
":DecisionForestRuntimeTest",
|
||||
"//clang-tools-extra/clang-tidy",
|
||||
"//clang-tools-extra/clangd",
|
||||
"//clang-tools-extra/clangd:features",
|
||||
|
@ -28,6 +36,9 @@ unittest("ClangdTests") {
|
|||
|
||||
# To pick up the generated inc files.
|
||||
"$target_gen_dir/../../clangd/tool",
|
||||
|
||||
# To pick up the generated DecisionForestRuntimeTest.h file.
|
||||
target_gen_dir,
|
||||
]
|
||||
sources = [
|
||||
"ASTTests.cpp",
|
||||
|
@ -44,6 +55,7 @@ unittest("ClangdTests") {
|
|||
"ConfigCompileTests.cpp",
|
||||
"ConfigProviderTests.cpp",
|
||||
"ConfigYAMLTests.cpp",
|
||||
"DecisionForestTests.cpp",
|
||||
"DexTests.cpp",
|
||||
"DiagnosticsTests.cpp",
|
||||
"DraftStoreTests.cpp",
|
||||
|
|
Loading…
Reference in New Issue