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