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