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