1cb93a386Sopenharmony_ci# Copyright 2018 Google Inc. 2cb93a386Sopenharmony_ci# 3cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be 4cb93a386Sopenharmony_ci# found in the LICENSE file. 5cb93a386Sopenharmony_ci 6cb93a386Sopenharmony_ciimport("../../gn/skia.gni") 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ciif (skia_enable_skottie) { 9cb93a386Sopenharmony_ci config("public_config") { 10cb93a386Sopenharmony_ci defines = [ "SK_ENABLE_SKOTTIE" ] 11cb93a386Sopenharmony_ci include_dirs = [ "include" ] 12cb93a386Sopenharmony_ci } 13cb93a386Sopenharmony_ci 14cb93a386Sopenharmony_ci skia_component("skottie") { 15cb93a386Sopenharmony_ci check_includes = false 16cb93a386Sopenharmony_ci import("skottie.gni") 17cb93a386Sopenharmony_ci public_configs = [ ":public_config" ] 18cb93a386Sopenharmony_ci public = skia_skottie_public 19cb93a386Sopenharmony_ci sources = skia_skottie_sources 20cb93a386Sopenharmony_ci configs = [ "../../:skia_private" ] 21cb93a386Sopenharmony_ci deps = [ 22cb93a386Sopenharmony_ci "../..:skia", 23cb93a386Sopenharmony_ci "../skresources", 24cb93a386Sopenharmony_ci "../sksg", 25cb93a386Sopenharmony_ci "../skshaper", 26cb93a386Sopenharmony_ci "../skunicode", 27cb93a386Sopenharmony_ci ] 28cb93a386Sopenharmony_ci if (is_ohos) { 29cb93a386Sopenharmony_ci external_deps = [ "hitrace:hitrace_meter" ] 30cb93a386Sopenharmony_ci } 31cb93a386Sopenharmony_ci if (use_oh_skia) { 32cb93a386Sopenharmony_ci deps -= [ "../..:skia" ] 33cb93a386Sopenharmony_ci } 34cb93a386Sopenharmony_ci } 35cb93a386Sopenharmony_ci 36cb93a386Sopenharmony_ci if (defined(is_skia_standalone)) { 37cb93a386Sopenharmony_ci config("utils_config") { 38cb93a386Sopenharmony_ci include_dirs = [ "utils" ] 39cb93a386Sopenharmony_ci } 40cb93a386Sopenharmony_ci skia_source_set("utils") { 41cb93a386Sopenharmony_ci check_includes = false 42cb93a386Sopenharmony_ci testonly = true 43cb93a386Sopenharmony_ci 44cb93a386Sopenharmony_ci public_configs = [ ":utils_config" ] 45cb93a386Sopenharmony_ci configs = [ "../../:skia_private" ] 46cb93a386Sopenharmony_ci 47cb93a386Sopenharmony_ci sources = [ "utils/SkottieUtils.cpp" ] 48cb93a386Sopenharmony_ci deps = [ 49cb93a386Sopenharmony_ci ":skottie", 50cb93a386Sopenharmony_ci "../..:skia", 51cb93a386Sopenharmony_ci ] 52cb93a386Sopenharmony_ci if (use_oh_skia) { 53cb93a386Sopenharmony_ci deps -= [ "../..:skia" ] 54cb93a386Sopenharmony_ci } 55cb93a386Sopenharmony_ci } 56cb93a386Sopenharmony_ci 57cb93a386Sopenharmony_ci if (skia_enable_tools) { 58cb93a386Sopenharmony_ci skia_source_set("tests") { 59cb93a386Sopenharmony_ci testonly = true 60cb93a386Sopenharmony_ci 61cb93a386Sopenharmony_ci configs = [ 62cb93a386Sopenharmony_ci "../..:skia_private", 63cb93a386Sopenharmony_ci "../..:tests_config", 64cb93a386Sopenharmony_ci ] 65cb93a386Sopenharmony_ci sources = [ 66cb93a386Sopenharmony_ci "src/SkottieTest.cpp", 67cb93a386Sopenharmony_ci "tests/AudioLayer.cpp", 68cb93a386Sopenharmony_ci "tests/Expression.cpp", 69cb93a386Sopenharmony_ci "tests/Image.cpp", 70cb93a386Sopenharmony_ci "tests/Keyframe.cpp", 71cb93a386Sopenharmony_ci "tests/Text.cpp", 72cb93a386Sopenharmony_ci ] 73cb93a386Sopenharmony_ci 74cb93a386Sopenharmony_ci if (is_ohos) { 75cb93a386Sopenharmony_ci external_deps = [ "hitrace:hitrace_meter" ] 76cb93a386Sopenharmony_ci } 77cb93a386Sopenharmony_ci deps = [ 78cb93a386Sopenharmony_ci ":skottie", 79cb93a386Sopenharmony_ci "../..:skia", 80cb93a386Sopenharmony_ci "../..:test", 81cb93a386Sopenharmony_ci "../skshaper", 82cb93a386Sopenharmony_ci ] 83cb93a386Sopenharmony_ci if (use_oh_skia) { 84cb93a386Sopenharmony_ci deps -= [ "../..:skia" ] 85cb93a386Sopenharmony_ci } 86cb93a386Sopenharmony_ci } 87cb93a386Sopenharmony_ci 88cb93a386Sopenharmony_ci skia_source_set("fuzz") { 89cb93a386Sopenharmony_ci check_includes = false 90cb93a386Sopenharmony_ci testonly = true 91cb93a386Sopenharmony_ci 92cb93a386Sopenharmony_ci configs = [ "../..:skia_private" ] 93cb93a386Sopenharmony_ci include_dirs = [ 94cb93a386Sopenharmony_ci "../../tools", 95cb93a386Sopenharmony_ci "../../tools/flags", 96cb93a386Sopenharmony_ci "../../tools/fonts", 97cb93a386Sopenharmony_ci ] 98cb93a386Sopenharmony_ci sources = [ 99cb93a386Sopenharmony_ci "../../tools/Resources.cpp", 100cb93a386Sopenharmony_ci "../../tools/fonts/TestFontMgr.cpp", 101cb93a386Sopenharmony_ci "../../tools/fonts/TestSVGTypeface.cpp", 102cb93a386Sopenharmony_ci "../../tools/fonts/TestTypeface.cpp", 103cb93a386Sopenharmony_ci "fuzz/FuzzSkottieJSON.cpp", 104cb93a386Sopenharmony_ci ] 105cb93a386Sopenharmony_ci 106cb93a386Sopenharmony_ci deps = [ 107cb93a386Sopenharmony_ci "../..:skia", 108cb93a386Sopenharmony_ci "../svg", 109cb93a386Sopenharmony_ci ] 110cb93a386Sopenharmony_ci 111cb93a386Sopenharmony_ci public_deps = [ ":skottie" ] 112cb93a386Sopenharmony_ci } 113cb93a386Sopenharmony_ci 114cb93a386Sopenharmony_ci skia_source_set("tool") { 115cb93a386Sopenharmony_ci check_includes = false 116cb93a386Sopenharmony_ci testonly = true 117cb93a386Sopenharmony_ci 118cb93a386Sopenharmony_ci configs = [ "../..:skia_private" ] 119cb93a386Sopenharmony_ci sources = [ "src/SkottieTool.cpp" ] 120cb93a386Sopenharmony_ci 121cb93a386Sopenharmony_ci deps = [ 122cb93a386Sopenharmony_ci "../..:flags", 123cb93a386Sopenharmony_ci "../..:skia", 124cb93a386Sopenharmony_ci "../../experimental/ffmpeg:video_encoder", 125cb93a386Sopenharmony_ci ] 126cb93a386Sopenharmony_ci 127cb93a386Sopenharmony_ci public_deps = [ 128cb93a386Sopenharmony_ci ":skottie", 129cb93a386Sopenharmony_ci ":utils", 130cb93a386Sopenharmony_ci ] 131cb93a386Sopenharmony_ci } 132cb93a386Sopenharmony_ci 133cb93a386Sopenharmony_ci skia_source_set("gm") { 134cb93a386Sopenharmony_ci check_includes = false 135cb93a386Sopenharmony_ci testonly = true 136cb93a386Sopenharmony_ci 137cb93a386Sopenharmony_ci # would be nice to have a gm_config 138cb93a386Sopenharmony_ci include_dirs = [ "../../gm" ] 139cb93a386Sopenharmony_ci 140cb93a386Sopenharmony_ci configs = [ "../..:skia_private" ] 141cb93a386Sopenharmony_ci sources = [ 142cb93a386Sopenharmony_ci "gm/ExternalProperties.cpp", 143cb93a386Sopenharmony_ci "gm/SkottieGM.cpp", 144cb93a386Sopenharmony_ci ] 145cb93a386Sopenharmony_ci 146cb93a386Sopenharmony_ci deps = [ 147cb93a386Sopenharmony_ci ":skottie", 148cb93a386Sopenharmony_ci ":utils", 149cb93a386Sopenharmony_ci "../..:gpu_tool_utils", 150cb93a386Sopenharmony_ci "../..:skia", 151cb93a386Sopenharmony_ci "../..:tool_utils", 152cb93a386Sopenharmony_ci ] 153cb93a386Sopenharmony_ci if (use_oh_skia) { 154cb93a386Sopenharmony_ci deps -= [ "../..:skia" ] 155cb93a386Sopenharmony_ci } 156cb93a386Sopenharmony_ci } 157cb93a386Sopenharmony_ci } 158cb93a386Sopenharmony_ci } 159cb93a386Sopenharmony_ci} else { 160cb93a386Sopenharmony_ci group("skottie") { 161cb93a386Sopenharmony_ci } 162cb93a386Sopenharmony_ci group("fuzz") { 163cb93a386Sopenharmony_ci } 164cb93a386Sopenharmony_ci group("gm") { 165cb93a386Sopenharmony_ci } 166cb93a386Sopenharmony_ci group("tests") { 167cb93a386Sopenharmony_ci } 168cb93a386Sopenharmony_ci group("utils") { 169cb93a386Sopenharmony_ci } 170cb93a386Sopenharmony_ci} 171