# 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/font",
    "../fgas/layout",
  ]
  configs += [
    "../../:pdfium_core_config",
    "../:xfa_warnings",
  ]
  visibility = [ "../../*" ]
}

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