# Copyright 2023 Google LLC.

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

declare_args() {
  skia_enable_bentleyottmann = true
}

if (skia_enable_bentleyottmann) {
  config("public_config") {
    include_dirs = [ "include" ]
  }

  skia_component("bentleyottmann") {
    import("bentleyottmann.gni")
    public_configs = [ ":public_config" ]
    public = bentleyottmann_public
    sources = bentleyottmann_sources
    deps = [ "../..:skia" ]
  }

  if (skia_enable_tools) {
    skia_source_set("tests") {
      testonly = true
      sources = bentleyottmann_tests
      deps = [
        ":bentleyottmann",
        "../..:skia",
        "../..:test",
      ]
    }
  }
}
