# 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")

jumbo_source_set("fpdftext") {
  sources = [
    "cpdf_linkextract.cpp",
    "cpdf_linkextract.h",
    "cpdf_textpage.cpp",
    "cpdf_textpage.h",
    "cpdf_textpagefind.cpp",
    "cpdf_textpagefind.h",
    "unicodenormalizationdata.cpp",
    "unicodenormalizationdata.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  deps = [
    "../fpdfapi/font",
    "../fpdfapi/page",
    "../fpdfapi/parser",
    "../fxcrt",
  ]
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cpdf_linkextract_unittest.cpp",
  ]
  deps = [
    ":fpdftext",
  ]
  pdfium_root_dir = "../../"
}
