• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//third_party/abseil-cpp/absl.gni")
6
7absl_source_set("status") {
8  public = [
9    "status.h",
10    "status_payload_printer.h",
11  ]
12  sources = [
13    "internal/status_internal.cc",
14    "internal/status_internal.h",
15    "status.cc",
16    "status_payload_printer.cc",
17  ]
18  deps = [
19    "//third_party/abseil-cpp/absl/base:atomic_hook",
20    "//third_party/abseil-cpp/absl/base:config",
21    "//third_party/abseil-cpp/absl/base:core_headers",
22    "//third_party/abseil-cpp/absl/base:no_destructor",
23    "//third_party/abseil-cpp/absl/base:nullability",
24    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
25    "//third_party/abseil-cpp/absl/base:strerror",
26    "//third_party/abseil-cpp/absl/container:inlined_vector",
27    "//third_party/abseil-cpp/absl/debugging:stacktrace",
28    "//third_party/abseil-cpp/absl/debugging:symbolize",
29    "//third_party/abseil-cpp/absl/functional:function_ref",
30    "//third_party/abseil-cpp/absl/memory",
31    "//third_party/abseil-cpp/absl/strings",
32    "//third_party/abseil-cpp/absl/strings:cord",
33    "//third_party/abseil-cpp/absl/strings:str_format",
34    "//third_party/abseil-cpp/absl/strings:string_view",
35    "//third_party/abseil-cpp/absl/types:optional",
36    "//third_party/abseil-cpp/absl/types:span",
37  ]
38
39  if (!is_win || is_clang) {
40    # TODO(crbug.com/331100926): Remove once fixed in upstream absl.
41    cflags_cc = [ "-Wno-deprecated-pragma" ]
42  }
43}
44
45absl_test("status_test") {
46  sources = [ "status_test.cc" ]
47  deps = [
48    ":status",
49    "//third_party/abseil-cpp/absl/strings",
50    "//third_party/abseil-cpp/absl/strings:cord",
51    "//third_party/abseil-cpp/absl/strings:str_format",
52  ]
53}
54
55absl_source_set("statusor") {
56  public = [ "statusor.h" ]
57  sources = [
58    "internal/statusor_internal.h",
59    "statusor.cc",
60  ]
61  deps = [
62    ":status",
63    "//third_party/abseil-cpp/absl/base",
64    "//third_party/abseil-cpp/absl/base:config",
65    "//third_party/abseil-cpp/absl/base:core_headers",
66    "//third_party/abseil-cpp/absl/base:nullability",
67    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
68    "//third_party/abseil-cpp/absl/meta:type_traits",
69    "//third_party/abseil-cpp/absl/strings",
70    "//third_party/abseil-cpp/absl/strings:has_ostream_operator",
71    "//third_party/abseil-cpp/absl/strings:str_format",
72    "//third_party/abseil-cpp/absl/strings:string_view",
73    "//third_party/abseil-cpp/absl/types:variant",
74    "//third_party/abseil-cpp/absl/utility",
75  ]
76}
77
78absl_test("statusor_test") {
79  sources = [ "statusor_test.cc" ]
80  deps = [
81    ":status",
82    ":status_matchers",
83    ":statusor",
84    "//third_party/abseil-cpp/absl/base",
85    "//third_party/abseil-cpp/absl/memory",
86    "//third_party/abseil-cpp/absl/strings",
87    "//third_party/abseil-cpp/absl/strings:string_view",
88    "//third_party/abseil-cpp/absl/types:any",
89    "//third_party/abseil-cpp/absl/types:variant",
90    "//third_party/abseil-cpp/absl/utility",
91  ]
92}
93
94absl_source_set("status_matchers") {
95  testonly = true
96  public = [ "status_matchers.h" ]
97  sources = [
98    "internal/status_matchers.cc",
99    "internal/status_matchers.h",
100  ]
101  deps = [
102    ":status",
103    ":statusor",
104    "//third_party/abseil-cpp/absl/base:config",
105    "//third_party/abseil-cpp/absl/strings:string_view",
106    "//third_party/googletest:gmock",
107    "//third_party/googletest:gtest",
108  ]
109}
110
111absl_test("status_matchers_test") {
112  sources = [ "status_matchers_test.cc" ]
113  deps = [
114    ":status",
115    ":status_matchers",
116    ":statusor",
117    "//third_party/abseil-cpp/absl/strings",
118  ]
119}
120