# Copyright 2018 The PDFium 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("../../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",
  ]
  deps = [
    "../../core/fxcrt",
    "../../core/fxge",
    "../fgas",
    "../fgas/layout",
  ]
  configs += [
    "../../:pdfium_core_config",
    "../:xfa_warnings",
  ]
  visibility = [ "../../*" ]
}

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