1cb93a386Sopenharmony_ci# Copyright 2021 Google LLC. 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_ciimport("../../gn/skia.gni") 4cb93a386Sopenharmony_ciimport("../../modules/skshaper/skshaper.gni") 5cb93a386Sopenharmony_ci 6cb93a386Sopenharmony_cideclare_args() { 7cb93a386Sopenharmony_ci skia_enable_sktext = true 8cb93a386Sopenharmony_ci text_gms_enabled = true 9cb93a386Sopenharmony_ci text_tests_enabled = true 10cb93a386Sopenharmony_ci text_bench_enabled = false 11cb93a386Sopenharmony_ci} 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ciif (skia_enable_sktext && skia_enable_skshaper && skia_use_icu && 14cb93a386Sopenharmony_ci skia_use_harfbuzz) { 15cb93a386Sopenharmony_ci config("public_config") { 16cb93a386Sopenharmony_ci include_dirs = [ "include" ] 17cb93a386Sopenharmony_ci } 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_ci component("sktext") { 20cb93a386Sopenharmony_ci import("sktext.gni") 21cb93a386Sopenharmony_ci public_configs = [ ":public_config" ] 22cb93a386Sopenharmony_ci public = sktext_public 23cb93a386Sopenharmony_ci sources = sktext_sources 24cb93a386Sopenharmony_ci if (is_ohos) { 25cb93a386Sopenharmony_ci external_deps = [ "hitrace:hitrace_meter" ] 26cb93a386Sopenharmony_ci } 27cb93a386Sopenharmony_ci if (use_oh_skia) { 28cb93a386Sopenharmony_ci deps = [ 29cb93a386Sopenharmony_ci "../..:skia_canvaskit", 30cb93a386Sopenharmony_ci "../../modules/skshaper", 31cb93a386Sopenharmony_ci "../../modules/skunicode", 32cb93a386Sopenharmony_ci ] 33cb93a386Sopenharmony_ci } else { 34cb93a386Sopenharmony_ci deps = [ 35cb93a386Sopenharmony_ci "../..:skia", 36cb93a386Sopenharmony_ci "../../modules/skshaper", 37cb93a386Sopenharmony_ci "../../modules/skunicode", 38cb93a386Sopenharmony_ci ] 39cb93a386Sopenharmony_ci } 40cb93a386Sopenharmony_ci } 41cb93a386Sopenharmony_ci 42cb93a386Sopenharmony_ci if (defined(is_skia_standalone) && skia_enable_tools) { 43cb93a386Sopenharmony_ci source_set("gm") { 44cb93a386Sopenharmony_ci if (text_gms_enabled) { 45cb93a386Sopenharmony_ci testonly = true 46cb93a386Sopenharmony_ci sources = [] 47cb93a386Sopenharmony_ci deps = [ 48cb93a386Sopenharmony_ci ":sktext", 49cb93a386Sopenharmony_ci "../..:gpu_tool_utils", 50cb93a386Sopenharmony_ci "../..:skia", 51cb93a386Sopenharmony_ci "../../modules/skshaper", 52cb93a386Sopenharmony_ci ] 53cb93a386Sopenharmony_ci } else { 54cb93a386Sopenharmony_ci sources = [] 55cb93a386Sopenharmony_ci } 56cb93a386Sopenharmony_ci } 57cb93a386Sopenharmony_ci 58cb93a386Sopenharmony_ci source_set("tests") { 59cb93a386Sopenharmony_ci if (text_tests_enabled) { 60cb93a386Sopenharmony_ci testonly = true 61cb93a386Sopenharmony_ci sources = [ 62cb93a386Sopenharmony_ci "tests/FontResolvedText.cpp", 63cb93a386Sopenharmony_ci "tests/SelectableText.cpp", 64cb93a386Sopenharmony_ci "tests/ShapedText.cpp", 65cb93a386Sopenharmony_ci "tests/UnicodeText.cpp", 66cb93a386Sopenharmony_ci "tests/WrappedText.cpp", 67cb93a386Sopenharmony_ci ] 68cb93a386Sopenharmony_ci if (is_ohos) { 69cb93a386Sopenharmony_ci external_deps = [ "hitrace:hitrace_meter" ] 70cb93a386Sopenharmony_ci } 71cb93a386Sopenharmony_ci if (use_oh_skia) { 72cb93a386Sopenharmony_ci deps = [ 73cb93a386Sopenharmony_ci ":sktext", 74cb93a386Sopenharmony_ci "../..:gpu_tool_utils", 75cb93a386Sopenharmony_ci ] 76cb93a386Sopenharmony_ci } else { 77cb93a386Sopenharmony_ci deps = [ 78cb93a386Sopenharmony_ci ":sktext", 79cb93a386Sopenharmony_ci "../..:gpu_tool_utils", 80cb93a386Sopenharmony_ci "../..:skia", 81cb93a386Sopenharmony_ci "../../modules/skshaper", 82cb93a386Sopenharmony_ci ] 83cb93a386Sopenharmony_ci } 84cb93a386Sopenharmony_ci } else { 85cb93a386Sopenharmony_ci sources = [] 86cb93a386Sopenharmony_ci } 87cb93a386Sopenharmony_ci } 88cb93a386Sopenharmony_ci 89cb93a386Sopenharmony_ci source_set("bench") { 90cb93a386Sopenharmony_ci if (text_bench_enabled) { 91cb93a386Sopenharmony_ci testonly = true 92cb93a386Sopenharmony_ci sources = [] 93cb93a386Sopenharmony_ci deps = [ 94cb93a386Sopenharmony_ci ":sktext", 95cb93a386Sopenharmony_ci "../..:skia", 96cb93a386Sopenharmony_ci "../../modules/skshaper", 97cb93a386Sopenharmony_ci ] 98cb93a386Sopenharmony_ci } else { 99cb93a386Sopenharmony_ci sources = [] 100cb93a386Sopenharmony_ci } 101cb93a386Sopenharmony_ci } 102cb93a386Sopenharmony_ci 103cb93a386Sopenharmony_ci source_set("samples") { 104cb93a386Sopenharmony_ci testonly = true 105cb93a386Sopenharmony_ci sources = [ 106cb93a386Sopenharmony_ci "editor/Cursor.cpp", 107cb93a386Sopenharmony_ci "editor/Editor.cpp", 108cb93a386Sopenharmony_ci "editor/Mouse.cpp", 109cb93a386Sopenharmony_ci "editor/Selection.cpp", 110cb93a386Sopenharmony_ci "editor/Texts.cpp", 111cb93a386Sopenharmony_ci "samples/Text.cpp", 112cb93a386Sopenharmony_ci ] 113cb93a386Sopenharmony_ci deps = [ 114cb93a386Sopenharmony_ci ":sktext", 115cb93a386Sopenharmony_ci "../..:skia", 116cb93a386Sopenharmony_ci "../../modules/skshaper", 117cb93a386Sopenharmony_ci ] 118cb93a386Sopenharmony_ci } 119cb93a386Sopenharmony_ci 120cb93a386Sopenharmony_ci skia_source_set("text_editor") { 121cb93a386Sopenharmony_ci testonly = true 122cb93a386Sopenharmony_ci sources = [ 123cb93a386Sopenharmony_ci "editor/App.cpp", 124cb93a386Sopenharmony_ci "editor/Cursor.cpp", 125cb93a386Sopenharmony_ci "editor/Editor.cpp", 126cb93a386Sopenharmony_ci "editor/Mouse.cpp", 127cb93a386Sopenharmony_ci "editor/Selection.cpp", 128cb93a386Sopenharmony_ci "editor/Texts.cpp", 129cb93a386Sopenharmony_ci ] 130cb93a386Sopenharmony_ci public_deps = [ "../..:sk_app" ] 131cb93a386Sopenharmony_ci deps = [ ":sktext" ] 132cb93a386Sopenharmony_ci } 133cb93a386Sopenharmony_ci } 134cb93a386Sopenharmony_ci} else { 135cb93a386Sopenharmony_ci group("sktext") { 136cb93a386Sopenharmony_ci } 137cb93a386Sopenharmony_ci group("gm") { 138cb93a386Sopenharmony_ci } 139cb93a386Sopenharmony_ci group("tests") { 140cb93a386Sopenharmony_ci } 141cb93a386Sopenharmony_ci group("bench") { 142cb93a386Sopenharmony_ci } 143cb93a386Sopenharmony_ci group("samples") { 144cb93a386Sopenharmony_ci } 145cb93a386Sopenharmony_ci} 146