aboutsummaryrefslogtreecommitdiff
path: root/BUILD.gn
blob: 95ab0c96ace738343d5b0c1dba882b5c830ed4ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build_overrides/build.gni")
import("osp/build/config/services.gni")

# All compilable non-test targets in the repository (both executables and
# source_sets).
group("gn_all") {
  deps = [
    "cast/common:certificate",
    "cast/common:channel",
    "cast/common:public",
    "cast/receiver:channel",
    "cast/sender:channel",
    "cast/streaming:receiver",
    "cast/streaming:sender",
    "discovery:common",
    "discovery:dnssd",
    "discovery:mdns",
    "discovery:public",
    "platform",
    "third_party/abseil",
    "third_party/boringssl",
    "third_party/jsoncpp",
    "third_party/mozilla",
    "third_party/tinycbor",
    "tools/cddl($host_toolchain)",
    "util",
  ]

  # Mac OS X 10.15 is incompatible with the current version of QUIC.
  if (!is_mac) {
    deps += [
      "osp",
      "osp/msgs",
    ]

    if (use_chromium_quic) {
      deps += [
        "third_party/chromium_quic",
        "third_party/chromium_quic:quic_demo_server",
        "third_party/chromium_quic:quic_streaming_playback_controller",
      ]
    }

    if (use_chromium_quic) {
      deps += [ "osp:osp_demo" ]
    }
  }

  if (!build_with_chromium) {
    deps += [
      "cast/standalone_receiver:cast_receiver",
      "cast/standalone_sender:cast_sender",
      "third_party/protobuf:protoc($host_toolchain)",
      "third_party/zlib",
    ]
  } else {
    if (!is_mac) {
      deps += [ "cast/cast_core/api" ]
    }
  }
}

source_set("openscreen_unittests_all") {
  testonly = true
  public_deps = [
    "cast/common:unittests",
    "cast/receiver:unittests",
    "cast/sender:unittests",
    "cast/streaming:unittests",
    "cast/test:unittests",
    "platform:unittests",
    "third_party/abseil",
    "util:unittests",
  ]

  if (!build_with_chromium && is_posix) {
    public_deps += [
      "cast/test:make_crl_tests($host_toolchain)",

      # TODO(crbug.com/1132604): Discovery unittests fail in Chrome.
      "discovery:unittests",
    ]
  }

  if (!is_mac) {
    public_deps += [
      "osp:unittests",
      "osp/msgs:unittests",
    ]
  }
}

if (!build_with_chromium) {
  executable("openscreen_unittests") {
    testonly = true
    deps = [
      ":openscreen_unittests_all",
      "test:test_main",
    ]
  }
}

if (!build_with_chromium && is_posix) {
  source_set("e2e_tests_all") {
    testonly = true
    public_deps = [
      "cast/common:discovery_e2e_test",
      "cast/test:e2e_tests",
      "cast/test:make_crl_tests($host_toolchain)",
    ]
  }

  executable("e2e_tests") {
    testonly = true
    deps = [
      ":e2e_tests_all",
      "test:test_main",
    ]
  }
}