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