# Matches e.g. |add_llvm_unittest_with_input_files|.
unittest_re = re.compile(r'^add_\S+_unittest', re.MULTILINE)
- # FIXME: Add 'clang-tools-extra'.
- checked = [ 'clang', 'lld', 'llvm' ]
+ checked = [ 'clang', 'clang-tools-extra', 'lld', 'llvm' ]
for c in checked:
for root, _, _ in os.walk(os.path.join(c, 'unittests')):
cmake_file = os.path.join(root, 'CMakeLists.txt')
+import("//clang-tools-extra/clangd/xpc/enable.gni")
import("//llvm/utils/gn/build/write_cmake_config.gni")
-declare_args() {
- # Whether to build clangd's XPC components.
- clangd_build_xpc = false
-}
-
write_cmake_config("features") {
# FIXME: Try moving Features.inc.in to tools, seems like a better location.
input = "../Features.inc.in"
"//clang/lib/Tooling/Core",
"//llvm/lib/Support",
]
+ if (clangd_build_xpc) {
+ deps += [
+ "//clang-tools-extra/clangd/xpc:conversions",
+ "//clang-tools-extra/clangd/xpc:transport",
+ ]
+ }
include_dirs = [
"..",
sources = [
"ClangdMain.cpp",
]
-
- if (clangd_build_xpc) {
- # FIXME: Depend on clangdXpcJsonConversions, clangdXpcTransport
- }
}
--- /dev/null
+static_library("conversions") {
+ output_name = "clangdXpcJsonConversions"
+ configs += [ "//llvm/utils/gn/build:clang_code" ]
+ deps = [
+ "//clang-tools-extra/clangd",
+ "//llvm/lib/Support",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "Conversion.cpp",
+ ]
+}
+
+static_library("transport") {
+ output_name = "clangdXpcTransport"
+ configs += [ "//llvm/utils/gn/build:clang_code" ]
+ deps = [
+ ":conversions",
+ "//clang-tools-extra/clangd",
+ "//llvm/lib/Support",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "XPCTransport.cpp",
+ ]
+}
--- /dev/null
+declare_args() {
+ # Whether to build clangd's XPC components.
+ clangd_build_xpc = current_os == "mac"
+}
+import("//clang-tools-extra/clangd/xpc/enable.gni")
+
group("unittests") {
deps = [
"clang-apply-replacements:ClangApplyReplacementsTests",
"clang-tidy:ClangTidyTests",
"clangd:ClangdTests",
]
- # FIXME: dep on clangd/xpc:ClangdXpcTests once it exists
+ if (clangd_build_xpc) {
+ deps += [ "clangd/xpc:ClangdXpcTests" ]
+ }
testonly = true
}
--- /dev/null
+import("//llvm/utils/unittest/unittest.gni")
+
+unittest("ClangdXpcTests") {
+ configs += [ "//llvm/utils/gn/build:clang_code" ]
+ deps = [
+ "//clang-tools-extra/clangd",
+ "//clang-tools-extra/clangd/xpc:conversions",
+ "//llvm/lib/Support",
+ "//llvm/lib/Testing/Support",
+ ]
+ include_dirs = [ "//clang-tools-extra/clangd" ]
+ sources = [
+ "ConversionTests.cpp",
+ ]
+}