• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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