OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//mojo/public/mojo_application.gni") | 5 import("//mojo/public/mojo_application.gni") |
6 | 6 |
7 # Things needed by multiple targets, like renderer_impl and renderer_app. | 7 # Target naming conventions: |
8 source_set("lib") { | 8 # - converters: C++/Mojo type converters. |
| 9 # - proxy: C++ implementations supported by mojo services. |
| 10 # - service: Mojo interface implementations. |
| 11 # - unittests: Unit tests for a particular class/file. |
| 12 # - test: Tests for a particular app, e.g. media. |
| 13 |
| 14 source_set("converters") { |
| 15 sources = [ |
| 16 "media_type_converters.cc", |
| 17 "media_type_converters.h", |
| 18 ] |
| 19 |
9 deps = [ | 20 deps = [ |
10 "//base", | 21 "//base", |
11 "//media", | 22 "//media", |
12 "//media/mojo/interfaces", | 23 "//media/mojo/interfaces", |
13 "//mojo/common", | 24 "//mojo/common", |
14 "//mojo/converters/geometry", | 25 "//mojo/converters/geometry", |
15 "//mojo/environment:chromium", | 26 "//mojo/environment:chromium", |
16 "//mojo/public/c/system:for_component", | 27 "//mojo/public/c/system:for_component", |
17 "//mojo/services/public/interfaces/geometry", | 28 "//mojo/services/public/interfaces/geometry", |
18 "//skia", | 29 "//skia", |
19 ] | 30 ] |
20 | |
21 sources = [ | |
22 "media_type_converters.cc", | |
23 "media_type_converters.h", | |
24 "mojo_demuxer_stream_adapter.cc", | |
25 "mojo_demuxer_stream_adapter.h", | |
26 ] | |
27 } | 31 } |
28 | 32 |
29 # mojo media::Renderer proxy (to a renderer_app) implementation. | 33 # media::Renderer implementation using mojo::MediaRenderer. |
30 source_set("renderer_impl_lib") { | 34 source_set("renderer_proxy") { |
31 deps = [ | |
32 ":lib", | |
33 "//base", | |
34 "//media", | |
35 "//media/mojo/interfaces", | |
36 "//mojo/public/interfaces/application", | |
37 "//mojo/common", | |
38 "//mojo/environment:chromium", | |
39 "//mojo/public/c/system:for_component", | |
40 "//mojo/public/cpp/application", | |
41 ] | |
42 | |
43 sources = [ | 35 sources = [ |
44 "mojo_demuxer_stream_impl.cc", | 36 "mojo_demuxer_stream_impl.cc", |
45 "mojo_demuxer_stream_impl.h", | 37 "mojo_demuxer_stream_impl.h", |
46 "mojo_renderer_impl.cc", | 38 "mojo_renderer_impl.cc", |
47 "mojo_renderer_impl.h", | 39 "mojo_renderer_impl.h", |
48 ] | 40 ] |
| 41 |
| 42 deps = [ |
| 43 ":converters", |
| 44 "//base", |
| 45 "//media", |
| 46 "//media/mojo/interfaces", |
| 47 "//mojo/common", |
| 48 "//mojo/environment:chromium", |
| 49 "//mojo/public/c/system:for_component", |
| 50 "//mojo/public/cpp/application", |
| 51 "//mojo/public/interfaces/application", |
| 52 ] |
49 } | 53 } |
50 | 54 |
51 # mojo media::Renderer application. | 55 # MediaRenderer service. |
52 mojo_native_application("renderer_app") { | 56 source_set("renderer_service") { |
53 output_name = "mojo_media_renderer_app" | |
54 | |
55 deps = [ | |
56 "//base", | |
57 "//media", | |
58 "//media:shared_memory_support", | |
59 "//media/mojo/interfaces", | |
60 "//mojo/common", | |
61 "//mojo/application", | |
62 "//mojo/public/c/system:for_shared_library", | |
63 ":lib", | |
64 ] | |
65 | |
66 sources = [ | 57 sources = [ |
67 "demuxer_stream_provider_shim.cc", | 58 "demuxer_stream_provider_shim.cc", |
68 "demuxer_stream_provider_shim.h", | 59 "demuxer_stream_provider_shim.h", |
| 60 "mojo_demuxer_stream_adapter.cc", |
| 61 "mojo_demuxer_stream_adapter.h", |
69 "mojo_renderer_service.cc", | 62 "mojo_renderer_service.cc", |
70 "mojo_renderer_service.h", | 63 "mojo_renderer_service.h", |
71 "renderer_config.cc", | 64 "renderer_config.cc", |
72 "renderer_config.h", | 65 "renderer_config.h", |
73 "renderer_config_default.cc", | 66 "renderer_config_default.cc", |
74 ] | 67 ] |
| 68 |
| 69 deps = [ |
| 70 ":converters", |
| 71 "//base", |
| 72 "//media", |
| 73 "//media/mojo/interfaces", |
| 74 "//media:shared_memory_support", |
| 75 "//mojo/common", |
| 76 ] |
75 } | 77 } |
76 | 78 |
77 test("mojo_media_lib_unittests") { | 79 mojo_native_application("media") { |
| 80 sources = [ |
| 81 "mojo_media_application.cc", |
| 82 ] |
| 83 |
| 84 deps = [ |
| 85 ":renderer_service", |
| 86 "//mojo/application", |
| 87 "//mojo/public/c/system:for_shared_library", |
| 88 ] |
| 89 } |
| 90 |
| 91 test("media_mojo_unittests") { |
78 sources = [ | 92 sources = [ |
79 "media_type_converters_unittest.cc", | 93 "media_type_converters_unittest.cc", |
80 ] | 94 ] |
81 | 95 |
82 deps = [ | 96 deps = [ |
| 97 ":converters", |
83 "//base", | 98 "//base", |
84 "//base/test:test_support", | 99 "//base/test:test_support", |
85 "//media", | 100 "//media", |
86 "//media/mojo/interfaces", | 101 "//media/mojo/interfaces", |
87 "//mojo/edk/system", | 102 "//mojo/edk/system", |
88 "//mojo/edk/test:run_all_unittests", | 103 "//mojo/edk/test:run_all_unittests", |
89 "//mojo/environment:chromium", | 104 "//mojo/environment:chromium", |
90 "//testing/gtest", | 105 "//testing/gtest", |
91 ":lib", | |
92 ] | 106 ] |
93 } | 107 } |
94 | 108 |
95 # Not a 'test' because this is loaded via mojo_shell as an app. | 109 # Not a 'test' because this is loaded via mojo_shell as an app. |
96 # To run the test: | 110 # To run the test: |
97 # out/Debug/mojo_shell mojo:mojo_media_renderer_apptest | 111 # out/Debug/mojo_shell mojo:media_test |
98 # You may need to get "mojo_shell" from a mojo checkout and symlink all required | 112 # You can get "mojo_shell" using mojo/public/tools/download_shell_binary.py |
99 # libraries. | 113 mojo_native_application("media_test") { |
100 mojo_native_application("media_renderer_apptest") { | |
101 testonly = true | 114 testonly = true |
102 output_name = "mojo_media_renderer_apptest" | 115 sources = [ |
| 116 "media_renderer_apptest.cc", |
| 117 ] |
103 | 118 |
104 deps = [ | 119 deps = [ |
| 120 ":media", |
| 121 ":renderer_proxy", |
105 "//base", | 122 "//base", |
106 "//media", | 123 "//media", |
| 124 "//media/mojo/interfaces", |
107 "//media:shared_memory_support", | 125 "//media:shared_memory_support", |
108 "//media/mojo/interfaces", | |
109 "//mojo/application", | 126 "//mojo/application", |
110 "//mojo/application:test_support", | 127 "//mojo/application:test_support", |
111 "//mojo/common", | 128 "//mojo/common", |
112 "//mojo/environment:chromium", | 129 "//mojo/environment:chromium", |
113 ":renderer_impl_lib", | |
114 ":renderer_app", | |
115 ":lib", | |
116 "//mojo/public/c/system:for_shared_library", | 130 "//mojo/public/c/system:for_shared_library", |
117 ] | 131 ] |
118 | |
119 sources = [ | |
120 "media_renderer_apptest.cc", | |
121 ] | |
122 } | 132 } |
123 | 133 |
124 group("services") { | 134 group("services") { |
125 deps = [ | 135 deps = [ |
126 ":lib", | 136 ":media", |
127 ":renderer_impl_lib", | 137 ":renderer_proxy", |
128 ":renderer_app", | |
129 ] | 138 ] |
130 } | 139 } |
131 | 140 |
132 group("tests") { | 141 group("tests") { |
133 testonly = true | 142 testonly = true |
134 deps = [ | 143 deps = [ |
135 ":mojo_media_lib_unittests", | 144 ":media_mojo_unittests", |
136 ":media_renderer_apptest", | 145 ":media_test", |
137 ] | 146 ] |
138 } | 147 } |
OLD | NEW |