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 public_deps = [ 31 "../..:skia", 32 "../skunicode", 33 ] 34 deps = [ "../skshaper" ] 35 } 36 37 config("utils_config") { 38 include_dirs = [ "utils" ] 39 } 40 41 if (defined(is_skia_standalone) && skia_enable_tools) { 42 import("skparagraph.gni") 43 skia_source_set("utils") { 44 public_configs = [ ":utils_config" ] 45 configs = [ "../../:skia_private" ] 46 sources = skparagraph_utils 47 deps = [ 48 "../..:skia", 49 "../skshaper", 50 ] 51 } 52 53 skia_source_set("gm") { 54 if (paragraph_gms_enabled && 55 (skia_use_icu || skia_use_libgrapheme || skia_use_icu4x)) { 56 testonly = true 57 sources = [ "gm/simple_gm.cpp" ] 58 deps = [ 59 ":skparagraph", 60 "../..:gpu_tool_utils", 61 "../..:skia", 62 "../skshaper", 63 "../skunicode", 64 ] 65 } else { 66 sources = [] 67 } 68 } 69 70 skia_source_set("tests") { 71 if (paragraph_tests_enabled && 72 (skia_use_icu || skia_use_libgrapheme || skia_use_icu4x)) { 73 testonly = true 74 sources = skparagraph_tests 75 deps = [ 76 ":skparagraph", 77 "../..:skia", 78 "../..:test", 79 "../skshaper", 80 "../skunicode", 81 ] 82 } else { 83 sources = [] 84 } 85 } 86 87 skia_source_set("bench") { 88 if (paragraph_bench_enabled && 89 (skia_use_icu || skia_use_libgrapheme || skia_use_icu4x)) { 90 testonly = true 91 sources = [ "bench/ParagraphBench.cpp" ] 92 deps = [ 93 ":skparagraph", 94 "../..:skia", 95 "../skshaper", 96 "../skunicode", 97 ] 98 } else { 99 sources = [] 100 } 101 } 102 103 skia_source_set("slides") { 104 if (skia_use_icu || skia_use_libgrapheme) { 105 testonly = true 106 sources = [ "slides/ParagraphSlide.cpp" ] 107 deps = [ 108 ":skparagraph", 109 ":utils", 110 "../..:skia", 111 "../skshaper", 112 "../skunicode", 113 ] 114 } 115 } 116 } 117} else { 118 group("skparagraph") { 119 } 120 group("utils") { 121 } 122 group("gm") { 123 } 124 group("tests") { 125 } 126 group("bench") { 127 } 128 group("slides") { 129 } 130} 131