• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018 Google Inc.
2#
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6import("../../gn/skia.gni")
7
8if (skia_enable_skottie) {
9  config("public_config") {
10    defines = [
11      "SK_ENABLE_SKOTTIE",
12      "SK_ENABLE_SKOTTIE_SKSLEFFECT",
13    ]
14    include_dirs = [ "include" ]
15  }
16
17  skia_component("skottie") {
18    check_includes = false
19    import("skottie.gni")
20    public_configs = [ ":public_config" ]
21    public = skia_skottie_public
22    sources = skia_skottie_sources
23    configs = [ "../../:skia_private" ]
24    deps = [
25      "../..:skia",
26      "../jsonreader",
27      "../skresources",
28      "../sksg",
29      "../skshaper",
30      "../skunicode",
31    ]
32  }
33
34  if (defined(is_skia_standalone)) {
35    config("utils_config") {
36      include_dirs = [ "utils" ]
37    }
38    skia_source_set("utils") {
39      check_includes = false
40      testonly = true
41
42      public_configs = [ ":utils_config" ]
43      configs = [ "../../:skia_private" ]
44
45      sources = [
46        "utils/SkottieUtils.cpp",
47        "utils/TextEditor.cpp",
48        "utils/TextPreshape.cpp",
49      ]
50      deps = [
51        ":skottie",
52        "../..:skia",
53      ]
54    }
55
56    if (skia_enable_tools) {
57      skia_source_set("tests") {
58        testonly = true
59
60        configs = [
61          "../..:skia_private",
62          "../..:tests_config",
63        ]
64        sources = [
65          "src/SkottieTest.cpp",
66          "tests/AudioLayer.cpp",
67          "tests/Expression.cpp",
68          "tests/Image.cpp",
69          "tests/Keyframe.cpp",
70          "tests/PropertyObserver.cpp",
71          "tests/Shaper.cpp",
72          "tests/Text.cpp",
73        ]
74
75        deps = [
76          ":skottie",
77          "../..:skia",
78          "../..:test",
79          "../skshaper",
80          "../skunicode",
81        ]
82      }
83
84      skia_source_set("fuzz") {
85        check_includes = false
86        testonly = true
87
88        configs = [ "../..:skia_private" ]
89        include_dirs = [
90          "../../tools",
91          "../../tools/flags",
92          "../../tools/fonts",
93        ]
94        sources = [
95          "../../tools/Resources.cpp",
96          "../../tools/fonts/TestFontMgr.cpp",
97          "../../tools/fonts/TestSVGTypeface.cpp",
98          "../../tools/fonts/TestTypeface.cpp",
99          "fuzz/FuzzSkottieJSON.cpp",
100        ]
101
102        deps = [
103          "../..:skia",
104          "../svg",
105        ]
106
107        public_deps = [ ":skottie" ]
108      }
109
110      skia_source_set("tool") {
111        check_includes = false
112        testonly = true
113
114        configs = [ "../..:skia_private" ]
115        sources = [ "src/SkottieTool.cpp" ]
116
117        deps = [
118          "../..:flags",
119          "../..:gpu_tool_utils",
120          "../..:skia",
121          "../../experimental/ffmpeg:video_encoder",
122          "../skshaper",
123        ]
124
125        public_deps = [
126          ":skottie",
127          ":utils",
128        ]
129      }
130
131      # A couple of backend specific targets, to facilitate binary size experiments.
132      skia_source_set("tool_cpu") {
133        check_includes = false
134        testonly = true
135
136        configs = [ "../..:skia_private" ]
137        sources = [ "src/SkottieTool.cpp" ]
138        defines = [ "CPU_ONLY" ]
139
140        deps = [
141          "../..:flags",
142          "../..:gpu_tool_utils",
143          "../..:skia",
144          "../../experimental/ffmpeg:video_encoder",
145          "../skshaper",
146        ]
147
148        public_deps = [
149          ":skottie",
150          ":utils",
151        ]
152      }
153
154      skia_source_set("tool_gpu") {
155        check_includes = false
156        testonly = true
157
158        configs = [ "../..:skia_private" ]
159        sources = [ "src/SkottieTool.cpp" ]
160        defines = [ "GPU_ONLY" ]
161
162        deps = [
163          "../..:flags",
164          "../..:gpu_tool_utils",
165          "../..:skia",
166          "../../experimental/ffmpeg:video_encoder",
167          "../skshaper",
168        ]
169
170        public_deps = [
171          ":skottie",
172          ":utils",
173        ]
174      }
175
176      skia_source_set("preshape_tool") {
177        check_includes = false
178        testonly = true
179
180        configs = [ "../..:skia_private" ]
181        sources = [ "utils/PreshapeTool.cpp" ]
182
183        deps = [
184          "../..:flags",
185          "../..:skia",
186        ]
187
188        public_deps = [
189          ":skottie",
190          ":utils",
191        ]
192      }
193      skia_source_set("gm") {
194        check_includes = false
195        testonly = true
196
197        # would be nice to have a gm_config
198        include_dirs = [ "../../gm" ]
199
200        configs = [ "../..:skia_private" ]
201        sources = [
202          "gm/ExternalProperties.cpp",
203          "gm/SkottieGM.cpp",
204        ]
205
206        deps = [
207          ":skottie",
208          ":utils",
209          "../..:gpu_tool_utils",
210          "../..:skia",
211          "../..:tool_utils",
212          "../skshaper",
213        ]
214      }
215    }
216  }
217} else {
218  group("skottie") {
219  }
220  group("fuzz") {
221  }
222  group("gm") {
223  }
224  group("tests") {
225  }
226  group("utils") {
227  }
228}
229