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