xref: /third_party/skia/modules/svg/BUILD.gn (revision cb93a386)
1cb93a386Sopenharmony_ci# Copyright 2020 Google Inc.
2cb93a386Sopenharmony_ci#
3cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
4cb93a386Sopenharmony_ci# found in the LICENSE file.
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_ciimport("//build/ohos.gni")
7cb93a386Sopenharmony_ciimport("../../gn/skia.gni")
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ciif (skia_enable_svg && skia_use_expat) {
10cb93a386Sopenharmony_ci  config("public_config") {
11cb93a386Sopenharmony_ci    defines = [ "SK_ENABLE_SVG" ]
12cb93a386Sopenharmony_ci    include_dirs = [ "include" ]
13cb93a386Sopenharmony_ci    if (use_oh_skia) {
14cb93a386Sopenharmony_ci      include_dirs += [
15cb93a386Sopenharmony_ci        "//third_party/skia",
16cb93a386Sopenharmony_ci        "${skia_modules_dir}/svg/include",
17cb93a386Sopenharmony_ci        "${skia_modules_dir}/skresources/include",
18cb93a386Sopenharmony_ci        "${skia_modules_dir}/skshaper/include",
19cb93a386Sopenharmony_ci      ]
20cb93a386Sopenharmony_ci    }
21cb93a386Sopenharmony_ci  }
22cb93a386Sopenharmony_ci
23cb93a386Sopenharmony_ci  ohos_source_set("svg") {
24cb93a386Sopenharmony_ci    check_includes = false
25cb93a386Sopenharmony_ci    import("svg.gni")
26cb93a386Sopenharmony_ci    public_configs = [ ":public_config" ]
27cb93a386Sopenharmony_ci    public = skia_svg_public
28cb93a386Sopenharmony_ci    sources = skia_svg_sources
29cb93a386Sopenharmony_ci    configs = [ "../../:skia_private" ]
30cb93a386Sopenharmony_ci    if (!use_oh_skia) {
31cb93a386Sopenharmony_ci      deps = [
32cb93a386Sopenharmony_ci        "../..:skia",
33cb93a386Sopenharmony_ci        "../skresources",
34cb93a386Sopenharmony_ci        "../skshaper",
35cb93a386Sopenharmony_ci      ]
36cb93a386Sopenharmony_ci      if (is_ohos) {
37cb93a386Sopenharmony_ci        external_deps = [ "hitrace:hitrace_meter" ]
38cb93a386Sopenharmony_ci      }
39cb93a386Sopenharmony_ci    } else {
40cb93a386Sopenharmony_ci      configs += [ "../../:skia_wno" ]
41cb93a386Sopenharmony_ci    }
42cb93a386Sopenharmony_ci  }
43cb93a386Sopenharmony_ci
44cb93a386Sopenharmony_ci  if (skia_enable_tools) {
45cb93a386Sopenharmony_ci    if (defined(is_skia_standalone)) {
46cb93a386Sopenharmony_ci      skia_source_set("tool") {
47cb93a386Sopenharmony_ci        check_includes = false
48cb93a386Sopenharmony_ci        testonly = true
49cb93a386Sopenharmony_ci
50cb93a386Sopenharmony_ci        configs = [ "../..:skia_private" ]
51cb93a386Sopenharmony_ci        sources = [ "utils/SvgTool.cpp" ]
52cb93a386Sopenharmony_ci
53cb93a386Sopenharmony_ci        deps = [
54cb93a386Sopenharmony_ci          "../..:flags",
55cb93a386Sopenharmony_ci          "../..:skia",
56cb93a386Sopenharmony_ci        ]
57cb93a386Sopenharmony_ci
58cb93a386Sopenharmony_ci        public_deps = [ ":svg" ]
59cb93a386Sopenharmony_ci      }
60cb93a386Sopenharmony_ci    }
61cb93a386Sopenharmony_ci
62cb93a386Sopenharmony_ci    skia_source_set("tests") {
63cb93a386Sopenharmony_ci      testonly = true
64cb93a386Sopenharmony_ci
65cb93a386Sopenharmony_ci      configs = [ "../..:skia_private" ]
66cb93a386Sopenharmony_ci      sources = [
67cb93a386Sopenharmony_ci        "tests/Filters.cpp",
68cb93a386Sopenharmony_ci        "tests/Text.cpp",
69cb93a386Sopenharmony_ci      ]
70cb93a386Sopenharmony_ci
71cb93a386Sopenharmony_ci      deps = [
72cb93a386Sopenharmony_ci        ":svg",
73cb93a386Sopenharmony_ci        "../..:skia",
74cb93a386Sopenharmony_ci        "../..:test",
75cb93a386Sopenharmony_ci      ]
76cb93a386Sopenharmony_ci
77cb93a386Sopenharmony_ci      if (use_oh_skia) {
78cb93a386Sopenharmony_ci        deps -= [ "../..:skia" ]
79cb93a386Sopenharmony_ci      }
80cb93a386Sopenharmony_ci    }
81cb93a386Sopenharmony_ci  }
82cb93a386Sopenharmony_ci} else {
83cb93a386Sopenharmony_ci  group("svg") {
84cb93a386Sopenharmony_ci  }
85cb93a386Sopenharmony_ci  group("tests") {
86cb93a386Sopenharmony_ci  }
87cb93a386Sopenharmony_ci}
88