# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//flutter/impeller/tools/impeller.gni")

impeller_component("tessellator") {
  sources = [
    "tessellator.cc",
    "tessellator.h",
  ]

  public_deps = [ "../geometry" ]

  deps = [ "//third_party/libtess2" ]
}

impeller_component("tessellator_shared") {
  target_type = "shared_library"
  if (is_win) {
    output_name = "libtessellator"
  } else {
    output_name = "tessellator"
  }

  sources = [
    "c/tessellator.cc",
    "c/tessellator.h",
    "tessellator.cc",
    "tessellator.h",
  ]

  deps = [
    "../geometry",
    "//third_party/libtess2",
  ]

  metadata = {
    entitlement_file_path = [ "libtessellator.dylib" ]
  }
}

impeller_component("tessellator_unittests") {
  testonly = true
  sources = [ "tessellator_unittests.cc" ]
  deps = [
    ":tessellator",
    "//flutter/testing",
  ]
}
