# Copyright 2018 The PDFium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../../pdfium.gni")
import("../../testing/test.gni")

assert(pdf_enable_xfa)

source_set("fde") {
  sources = [
    "cfde_data.h",
    "cfde_texteditengine.cpp",
    "cfde_texteditengine.h",
    "cfde_textout.cpp",
    "cfde_textout.h",
    "cfde_wordbreak_data.cpp",
    "cfde_wordbreak_data.h",
  ]
  configs += [
    "../../:pdfium_strict_config",
    "../../:pdfium_noshorten_config",
    "../:xfa_warnings",
  ]
  deps = [
    "../../core/fxcrt",
    "../../core/fxge",
    "../fgas/font",
    "../fgas/layout",
  ]
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cfde_texteditengine_unittest.cpp",
    "cfde_textout_unittest.cpp",
  ]
  deps = [
    ":fde",
    "../../core/fdrm",
    "../../core/fxge",
    "../fgas/font",
  ]
  pdfium_root_dir = "../../"
}
