# 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("//build/config/jumbo.gni")
import("../../pdfium.gni")
import("../../testing/test.gni")

assert(pdf_enable_xfa)

jumbo_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 = "../../"
}
