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