xref: /aosp_15_r20/external/openscreen/third_party/googletest/BUILD.gn (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1*3f982cf4SFabien Sanglard# Copyright 2018 The Chromium Authors. All rights reserved.
2*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be
3*3f982cf4SFabien Sanglard# found in the LICENSE file.
4*3f982cf4SFabien Sanglard
5*3f982cf4SFabien Sanglardimport("//build_overrides/build.gni")
6*3f982cf4SFabien Sanglard
7*3f982cf4SFabien Sanglardif (build_with_chromium) {
8*3f982cf4SFabien Sanglard  source_set("gmock") {
9*3f982cf4SFabien Sanglard    testonly = true
10*3f982cf4SFabien Sanglard    public_configs = [
11*3f982cf4SFabien Sanglard      "//build/config/compiler:default_include_dirs",
12*3f982cf4SFabien Sanglard      "../../build:openscreen_include_dirs",
13*3f982cf4SFabien Sanglard    ]
14*3f982cf4SFabien Sanglard    public_deps = [ "//third_party/googletest:gmock" ]
15*3f982cf4SFabien Sanglard  }
16*3f982cf4SFabien Sanglard
17*3f982cf4SFabien Sanglard  source_set("gtest") {
18*3f982cf4SFabien Sanglard    testonly = true
19*3f982cf4SFabien Sanglard    public_configs = [
20*3f982cf4SFabien Sanglard      "//build/config/compiler:default_include_dirs",
21*3f982cf4SFabien Sanglard      "../../build:openscreen_include_dirs",
22*3f982cf4SFabien Sanglard    ]
23*3f982cf4SFabien Sanglard    public_deps = [ "//third_party/googletest:gtest" ]
24*3f982cf4SFabien Sanglard  }
25*3f982cf4SFabien Sanglard
26*3f982cf4SFabien Sanglard  source_set("gtest_main") {
27*3f982cf4SFabien Sanglard    testonly = true
28*3f982cf4SFabien Sanglard    public_configs = [
29*3f982cf4SFabien Sanglard      "//build/config/compiler:default_include_dirs",
30*3f982cf4SFabien Sanglard      "../../build:openscreen_include_dirs",
31*3f982cf4SFabien Sanglard    ]
32*3f982cf4SFabien Sanglard    public_deps = [ "//third_party/googletest:gtest_main" ]
33*3f982cf4SFabien Sanglard  }
34*3f982cf4SFabien Sanglard} else {
35*3f982cf4SFabien Sanglard  config("gmock_config") {
36*3f982cf4SFabien Sanglard    visibility = [ ":*" ]
37*3f982cf4SFabien Sanglard
38*3f982cf4SFabien Sanglard    cflags_cc = []
39*3f982cf4SFabien Sanglard    if (is_clang) {
40*3f982cf4SFabien Sanglard      # NOTE(crbug.com/openscreen/15): GMock does not support the override
41*3f982cf4SFabien Sanglard      # keyword.
42*3f982cf4SFabien Sanglard      cflags_cc += [
43*3f982cf4SFabien Sanglard        "-Wno-exit-time-destructors",
44*3f982cf4SFabien Sanglard        "-Wno-inconsistent-missing-override",
45*3f982cf4SFabien Sanglard      ]
46*3f982cf4SFabien Sanglard    }
47*3f982cf4SFabien Sanglard
48*3f982cf4SFabien Sanglard    include_dirs = [ "src/googlemock/include" ]
49*3f982cf4SFabien Sanglard  }
50*3f982cf4SFabien Sanglard
51*3f982cf4SFabien Sanglard  config("gtest_config") {
52*3f982cf4SFabien Sanglard    visibility = [ ":*" ]
53*3f982cf4SFabien Sanglard
54*3f982cf4SFabien Sanglard    include_dirs = [ "src/googletest/include" ]
55*3f982cf4SFabien Sanglard
56*3f982cf4SFabien Sanglard    cflags_cc = []
57*3f982cf4SFabien Sanglard    if (is_clang) {
58*3f982cf4SFabien Sanglard      cflags_cc += [ "-Wno-exit-time-destructors" ]
59*3f982cf4SFabien Sanglard    }
60*3f982cf4SFabien Sanglard  }
61*3f982cf4SFabien Sanglard
62*3f982cf4SFabien Sanglard  source_set("gmock") {
63*3f982cf4SFabien Sanglard    testonly = true
64*3f982cf4SFabien Sanglard    sources = [
65*3f982cf4SFabien Sanglard      "src/googlemock/include/gmock/gmock.h",
66*3f982cf4SFabien Sanglard      "src/googlemock/src/gmock-all.cc",
67*3f982cf4SFabien Sanglard    ]
68*3f982cf4SFabien Sanglard
69*3f982cf4SFabien Sanglard    public_configs = [
70*3f982cf4SFabien Sanglard      ":gmock_config",
71*3f982cf4SFabien Sanglard      ":gtest_config",
72*3f982cf4SFabien Sanglard    ]
73*3f982cf4SFabien Sanglard
74*3f982cf4SFabien Sanglard    public_deps = [ ":gtest" ]
75*3f982cf4SFabien Sanglard
76*3f982cf4SFabien Sanglard    include_dirs = [ "src/googlemock" ]
77*3f982cf4SFabien Sanglard  }
78*3f982cf4SFabien Sanglard
79*3f982cf4SFabien Sanglard  source_set("gtest") {
80*3f982cf4SFabien Sanglard    testonly = true
81*3f982cf4SFabien Sanglard    sources = [
82*3f982cf4SFabien Sanglard      "src/googletest/include/gtest/gtest.h",
83*3f982cf4SFabien Sanglard      "src/googletest/src/gtest-all.cc",
84*3f982cf4SFabien Sanglard    ]
85*3f982cf4SFabien Sanglard
86*3f982cf4SFabien Sanglard    public_configs = [ ":gtest_config" ]
87*3f982cf4SFabien Sanglard
88*3f982cf4SFabien Sanglard    include_dirs = [ "src/googletest" ]
89*3f982cf4SFabien Sanglard  }
90*3f982cf4SFabien Sanglard
91*3f982cf4SFabien Sanglard  source_set("gtest_main") {
92*3f982cf4SFabien Sanglard    testonly = true
93*3f982cf4SFabien Sanglard    sources = [ "src/googletest/src/gtest_main.cc" ]
94*3f982cf4SFabien Sanglard    deps = [ ":gtest" ]
95*3f982cf4SFabien Sanglard  }
96*3f982cf4SFabien Sanglard}
97