Chromecast: extracts Linux window creation code to a common place.
[chromium-blink-merge.git] / mojo / shell / BUILD.gn
blobff5f349ddaf203c4bf9892b227175b6a28924b96
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//mojo/public/tools/bindings/mojom.gni")
6 import("//build/config/ui.gni")
8 executable("mojo_shell") {
9   deps = [
10     ":lib",
11     "//base",
12     "//mojo/common",
13     "//mojo/environment:chromium",
14   ]
16   if (is_component_build) {
17     deps += ["//ui/gl"]
18   }
20   sources = [
21     "desktop/mojo_main.cc"
22   ]
25 # GYP version: mojo/mojo.gyp:mojo_shell_lib
26 source_set("lib") {
27   deps = [
28     ":app_child_process_bindings",
29     ":external_application_registrar_bindings",
30     ":external_service_bindings",
31     "//base",
32     "//base/third_party/dynamic_annotations",
33     "//base:base_static",
34     "//mojo/application",
35     "//mojo/application_manager",
36     "//mojo/common",
37     "//mojo/edk/system",
38     "//mojo/gles2",
39     "//mojo/public/interfaces/application",
40     "//mojo/services/public/interfaces/network",
41     "//mojo/spy",
42   ]
44   sources = [
45     "app_child_process.cc",
46     "app_child_process.h",
47     "app_child_process_host.cc",
48     "app_child_process_host.h",
49     "child_process.cc",
50     "child_process.h",
51     "child_process_host.cc",
52     "child_process_host.h",
53     "context.cc",
54     "context.h",
55     "dynamic_application_loader.cc",
56     "dynamic_application_loader.h",
57     "dynamic_service_runner.h",
58     "external_application_listener.h",
59     "external_application_listener_posix.cc",
60     "external_application_listener_win.cc",
61     "filename_util.cc",
62     "filename_util.h",
63     "in_process_dynamic_service_runner.cc",
64     "in_process_dynamic_service_runner.h",
65     "incoming_connection_listener_posix.cc",
66     "incoming_connection_listener_posix.h",
67     "init.cc",
68     "init.h",
69     "mojo_url_resolver.cc",
70     "mojo_url_resolver.h",
71     "out_of_process_dynamic_service_runner.cc",
72     "out_of_process_dynamic_service_runner.h",
73     "switches.cc",
74     "switches.h",
75     "task_runners.cc",
76     "task_runners.h",
77     "test_child_process.cc",
78     "test_child_process.h",
79     "ui_application_loader_android.cc",
80     "ui_application_loader_android.h",
81   ]
83   if (is_android) {
84     deps += [
85       "//mojo/services/native_viewport:lib",
86       "//mojo/services/network:lib",
87     ]
88     sources += [
89       "network_application_loader.cc",
90       "network_application_loader.h",
91     ]
92   }
95 mojom("app_child_process_bindings") {
96   sources = [
97     "app_child_process.mojom"
98   ]
101 mojom("external_service_bindings") {
102   sources = [
103     "external_service.mojom"
104   ]
107 mojom("external_application_registrar_bindings") {
108   sources = [
109     "external_application_registrar.mojom"
110   ]
112   deps = [ "//mojo/public/interfaces/application" ]
115 source_set("external_application_registrar_connection") {
116   sources = [
117     "external_application_registrar_connection.cc",
118     "external_application_registrar_connection.h",
119   ]
121   deps = [
122    ":external_application_registrar_bindings",
123    "//net"
124   ]
127 # GYP version: mojo/mojo.gyp:mojo_shell_tests
128 test("mojo_shell_tests") {
129   deps = [
130     ":lib",
131     "//base",
132     "//base:i18n",
133     "//base/test:test_support",
134     "//testing/gtest",
135     "//net:test_support",
136     "//url",
137     "//mojo/application_manager",
138     "//mojo/common",
139     "//mojo/edk/system",
140     "//mojo/environment:chromium",
141     "//mojo/services/test_service:bindings",
142   ]
144   datadeps = [
145     "//mojo/services/test_service:mojo_test_app",
146     "//mojo/services/test_service:mojo_test_request_tracker_app",
147   ]
149   sources = [
150     "child_process_host_unittest.cc",
151     "dynamic_application_loader_unittest.cc",
152     "in_process_dynamic_service_runner_unittest.cc",
153     "mojo_url_resolver_unittest.cc",
154     "shell_test_base.cc",
155     "shell_test_base.h",
156     "shell_test_base_unittest.cc",
157     "shell_test_main.cc",
158   ]
160   if (is_android) {
161     deps += [
162       # TODO(GYP):
163       #'../testing/android/native_test.gyp:native_test_native_code',
164     ]
165   }
168 # GYP version: mojo/mojo.gyp:mojo_shell_test_support
169 source_set("test_support") {
170   sources = [
171     "shell_test_helper.cc",
172     "shell_test_helper.h",
173   ]
175   deps = [
176     ":lib",
177     "//mojo/edk/system",
178   ]
181 # GYP version: mojo/mojo.gyp:external_application_tests
182 test("mojo_external_application_tests") {
183   deps = [
184     ":lib",
185     ":external_application_registrar_connection",
186     "//base",
187     "//base/test:test_support",
188     "//testing/gtest",
189     "//net:test_support",
190     "//url",
191     "//mojo/application_manager",
192     "//mojo/common",
193     "//mojo/edk/system",
194     "//mojo/environment:chromium",
195   ]
197   sources = [
198     "incoming_connection_listener_unittest.cc",
199     "external_application_listener_unittest.cc",
200     "external_application_test_main.cc",
201   ]