# Copyright 2019 Google LLC.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../../gn/skia.gni")

if (skia_use_icu && skia_use_harfbuzz) {
  source_set("editor_lib") {
    include_dirs = [ "../.." ]
    public = [
      "include/editor.h",
      "include/stringslice.h",
      "include/stringview.h",
    ]
    sources = [
      "src/editor.cpp",
      "src/stringslice.cpp",
    ]
    public_deps = [
      "../..:skia",
    ]
    deps = [
      ":shape",
    ]
  }

  source_set("shape") {
    include_dirs = [ "../.." ]
    public = [
      "src/shape.h",
    ]
    sources = [
      "src/shape.cpp",
    ]
    public_deps = [
      "../..:skia",
    ]
    deps = [
      ":word_boundaries",
      "../../modules/skshaper",
    ]
  }

  source_set("word_boundaries") {
    include_dirs = [ "../.." ]
    public = [
      "src/word_boundaries.h",
    ]
    sources = [
      "src/word_boundaries.cpp",
    ]
    deps = [
      "../../third_party/icu",
    ]
  }

  source_set("editor_app") {
    testonly = true
    sources = [
      "app/editor_application.cpp",
    ]
    public_deps = [
      "../..:sk_app",
    ]
    deps = [
      ":editor_lib",
    ]
  }
}
