xref: /aosp_15_r20/external/skia/experimental/sktext/BUILD.gn (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2021 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerimport("../../gn/skia.gni")
4*c8dee2aaSAndroid Build Coastguard Workerimport("../../modules/skshaper/skshaper.gni")
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Workerdeclare_args() {
7*c8dee2aaSAndroid Build Coastguard Worker  skia_enable_sktext = true
8*c8dee2aaSAndroid Build Coastguard Worker  text_gms_enabled = true
9*c8dee2aaSAndroid Build Coastguard Worker  text_tests_enabled = true
10*c8dee2aaSAndroid Build Coastguard Worker  text_bench_enabled = false
11*c8dee2aaSAndroid Build Coastguard Worker}
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Workerif ((skia_use_icu || skia_use_libgrapheme || skia_use_icu4x) &&
14*c8dee2aaSAndroid Build Coastguard Worker    skia_enable_sktext && skia_enable_skshaper && skia_use_harfbuzz) {
15*c8dee2aaSAndroid Build Coastguard Worker  config("public_config") {
16*c8dee2aaSAndroid Build Coastguard Worker    include_dirs = [ "include" ]
17*c8dee2aaSAndroid Build Coastguard Worker  }
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Worker  component("sktext") {
20*c8dee2aaSAndroid Build Coastguard Worker    import("sktext.gni")
21*c8dee2aaSAndroid Build Coastguard Worker    public_configs = [ ":public_config" ]
22*c8dee2aaSAndroid Build Coastguard Worker    public = sktext_public
23*c8dee2aaSAndroid Build Coastguard Worker    sources = sktext_sources
24*c8dee2aaSAndroid Build Coastguard Worker    deps = [
25*c8dee2aaSAndroid Build Coastguard Worker      "../..:skia",
26*c8dee2aaSAndroid Build Coastguard Worker      "../../modules/skshaper",
27*c8dee2aaSAndroid Build Coastguard Worker      "../../modules/skunicode",
28*c8dee2aaSAndroid Build Coastguard Worker    ]
29*c8dee2aaSAndroid Build Coastguard Worker  }
30*c8dee2aaSAndroid Build Coastguard Worker
31*c8dee2aaSAndroid Build Coastguard Worker  if (defined(is_skia_standalone) && skia_enable_tools) {
32*c8dee2aaSAndroid Build Coastguard Worker    source_set("gm") {
33*c8dee2aaSAndroid Build Coastguard Worker      if (text_gms_enabled) {
34*c8dee2aaSAndroid Build Coastguard Worker        testonly = true
35*c8dee2aaSAndroid Build Coastguard Worker        sources = []
36*c8dee2aaSAndroid Build Coastguard Worker        deps = [
37*c8dee2aaSAndroid Build Coastguard Worker          ":sktext",
38*c8dee2aaSAndroid Build Coastguard Worker          "../..:gpu_tool_utils",
39*c8dee2aaSAndroid Build Coastguard Worker          "../..:skia",
40*c8dee2aaSAndroid Build Coastguard Worker          "../../modules/skshaper",
41*c8dee2aaSAndroid Build Coastguard Worker        ]
42*c8dee2aaSAndroid Build Coastguard Worker      } else {
43*c8dee2aaSAndroid Build Coastguard Worker        sources = []
44*c8dee2aaSAndroid Build Coastguard Worker      }
45*c8dee2aaSAndroid Build Coastguard Worker    }
46*c8dee2aaSAndroid Build Coastguard Worker
47*c8dee2aaSAndroid Build Coastguard Worker    source_set("tests") {
48*c8dee2aaSAndroid Build Coastguard Worker      if (text_tests_enabled) {
49*c8dee2aaSAndroid Build Coastguard Worker        testonly = true
50*c8dee2aaSAndroid Build Coastguard Worker        sources = [
51*c8dee2aaSAndroid Build Coastguard Worker          "tests/FontResolvedText.cpp",
52*c8dee2aaSAndroid Build Coastguard Worker          "tests/SelectableText.cpp",
53*c8dee2aaSAndroid Build Coastguard Worker          "tests/ShapedText.cpp",
54*c8dee2aaSAndroid Build Coastguard Worker          "tests/UnicodeText.cpp",
55*c8dee2aaSAndroid Build Coastguard Worker          "tests/WrappedText.cpp",
56*c8dee2aaSAndroid Build Coastguard Worker        ]
57*c8dee2aaSAndroid Build Coastguard Worker        deps = [
58*c8dee2aaSAndroid Build Coastguard Worker          ":sktext",
59*c8dee2aaSAndroid Build Coastguard Worker          "../..:gpu_tool_utils",
60*c8dee2aaSAndroid Build Coastguard Worker          "../..:skia",
61*c8dee2aaSAndroid Build Coastguard Worker          "../../modules/skshaper",
62*c8dee2aaSAndroid Build Coastguard Worker        ]
63*c8dee2aaSAndroid Build Coastguard Worker      } else {
64*c8dee2aaSAndroid Build Coastguard Worker        sources = []
65*c8dee2aaSAndroid Build Coastguard Worker      }
66*c8dee2aaSAndroid Build Coastguard Worker    }
67*c8dee2aaSAndroid Build Coastguard Worker
68*c8dee2aaSAndroid Build Coastguard Worker    source_set("bench") {
69*c8dee2aaSAndroid Build Coastguard Worker      if (text_bench_enabled) {
70*c8dee2aaSAndroid Build Coastguard Worker        testonly = true
71*c8dee2aaSAndroid Build Coastguard Worker        sources = []
72*c8dee2aaSAndroid Build Coastguard Worker        deps = [
73*c8dee2aaSAndroid Build Coastguard Worker          ":sktext",
74*c8dee2aaSAndroid Build Coastguard Worker          "../..:skia",
75*c8dee2aaSAndroid Build Coastguard Worker          "../../modules/skshaper",
76*c8dee2aaSAndroid Build Coastguard Worker        ]
77*c8dee2aaSAndroid Build Coastguard Worker      } else {
78*c8dee2aaSAndroid Build Coastguard Worker        sources = []
79*c8dee2aaSAndroid Build Coastguard Worker      }
80*c8dee2aaSAndroid Build Coastguard Worker    }
81*c8dee2aaSAndroid Build Coastguard Worker
82*c8dee2aaSAndroid Build Coastguard Worker    source_set("slides") {
83*c8dee2aaSAndroid Build Coastguard Worker      testonly = true
84*c8dee2aaSAndroid Build Coastguard Worker      sources = [
85*c8dee2aaSAndroid Build Coastguard Worker        "editor/Cursor.cpp",
86*c8dee2aaSAndroid Build Coastguard Worker        "editor/Editor.cpp",
87*c8dee2aaSAndroid Build Coastguard Worker        "editor/Mouse.cpp",
88*c8dee2aaSAndroid Build Coastguard Worker        "editor/Selection.cpp",
89*c8dee2aaSAndroid Build Coastguard Worker        "editor/Texts.cpp",
90*c8dee2aaSAndroid Build Coastguard Worker        "slides/Text.cpp",
91*c8dee2aaSAndroid Build Coastguard Worker      ]
92*c8dee2aaSAndroid Build Coastguard Worker      deps = [
93*c8dee2aaSAndroid Build Coastguard Worker        ":sktext",
94*c8dee2aaSAndroid Build Coastguard Worker        "../..:skia",
95*c8dee2aaSAndroid Build Coastguard Worker        "../../modules/skshaper",
96*c8dee2aaSAndroid Build Coastguard Worker      ]
97*c8dee2aaSAndroid Build Coastguard Worker    }
98*c8dee2aaSAndroid Build Coastguard Worker
99*c8dee2aaSAndroid Build Coastguard Worker    skia_source_set("text_editor") {
100*c8dee2aaSAndroid Build Coastguard Worker      testonly = true
101*c8dee2aaSAndroid Build Coastguard Worker      sources = [
102*c8dee2aaSAndroid Build Coastguard Worker        "editor/App.cpp",
103*c8dee2aaSAndroid Build Coastguard Worker        "editor/Cursor.cpp",
104*c8dee2aaSAndroid Build Coastguard Worker        "editor/Editor.cpp",
105*c8dee2aaSAndroid Build Coastguard Worker        "editor/Mouse.cpp",
106*c8dee2aaSAndroid Build Coastguard Worker        "editor/Selection.cpp",
107*c8dee2aaSAndroid Build Coastguard Worker        "editor/Texts.cpp",
108*c8dee2aaSAndroid Build Coastguard Worker      ]
109*c8dee2aaSAndroid Build Coastguard Worker      public_deps = [ "../..:sk_app" ]
110*c8dee2aaSAndroid Build Coastguard Worker      deps = [ ":sktext" ]
111*c8dee2aaSAndroid Build Coastguard Worker    }
112*c8dee2aaSAndroid Build Coastguard Worker  }
113*c8dee2aaSAndroid Build Coastguard Worker} else {
114*c8dee2aaSAndroid Build Coastguard Worker  group("sktext") {
115*c8dee2aaSAndroid Build Coastguard Worker  }
116*c8dee2aaSAndroid Build Coastguard Worker  group("gm") {
117*c8dee2aaSAndroid Build Coastguard Worker  }
118*c8dee2aaSAndroid Build Coastguard Worker  group("tests") {
119*c8dee2aaSAndroid Build Coastguard Worker  }
120*c8dee2aaSAndroid Build Coastguard Worker  group("bench") {
121*c8dee2aaSAndroid Build Coastguard Worker  }
122*c8dee2aaSAndroid Build Coastguard Worker  group("slides") {
123*c8dee2aaSAndroid Build Coastguard Worker  }
124*c8dee2aaSAndroid Build Coastguard Worker  group("text_editor") {
125*c8dee2aaSAndroid Build Coastguard Worker  }
126*c8dee2aaSAndroid Build Coastguard Worker}
127