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

source_set("fpdfdoc") {
  sources = [
    "cpdf_aaction.cpp",
    "cpdf_aaction.h",
    "cpdf_action.cpp",
    "cpdf_action.h",
    "cpdf_annot.cpp",
    "cpdf_annot.h",
    "cpdf_annotlist.cpp",
    "cpdf_annotlist.h",
    "cpdf_apsettings.cpp",
    "cpdf_apsettings.h",
    "cpdf_bafontmap.cpp",
    "cpdf_bafontmap.h",
    "cpdf_bookmark.cpp",
    "cpdf_bookmark.h",
    "cpdf_bookmarktree.cpp",
    "cpdf_bookmarktree.h",
    "cpdf_color_utils.cpp",
    "cpdf_color_utils.h",
    "cpdf_defaultappearance.cpp",
    "cpdf_defaultappearance.h",
    "cpdf_dest.cpp",
    "cpdf_dest.h",
    "cpdf_filespec.cpp",
    "cpdf_filespec.h",
    "cpdf_formcontrol.cpp",
    "cpdf_formcontrol.h",
    "cpdf_formfield.cpp",
    "cpdf_formfield.h",
    "cpdf_generateap.cpp",
    "cpdf_generateap.h",
    "cpdf_icon.cpp",
    "cpdf_icon.h",
    "cpdf_iconfit.cpp",
    "cpdf_iconfit.h",
    "cpdf_interactiveform.cpp",
    "cpdf_interactiveform.h",
    "cpdf_link.cpp",
    "cpdf_link.h",
    "cpdf_linklist.cpp",
    "cpdf_linklist.h",
    "cpdf_metadata.cpp",
    "cpdf_metadata.h",
    "cpdf_nametree.cpp",
    "cpdf_nametree.h",
    "cpdf_numbertree.cpp",
    "cpdf_numbertree.h",
    "cpdf_pagelabel.cpp",
    "cpdf_pagelabel.h",
    "cpdf_structelement.cpp",
    "cpdf_structelement.h",
    "cpdf_structtree.cpp",
    "cpdf_structtree.h",
    "cpdf_viewerpreferences.cpp",
    "cpdf_viewerpreferences.h",
    "cpvt_floatrect.h",
    "cpvt_fontmap.cpp",
    "cpvt_fontmap.h",
    "cpvt_line.h",
    "cpvt_lineinfo.h",
    "cpvt_section.cpp",
    "cpvt_section.h",
    "cpvt_variabletext.cpp",
    "cpvt_variabletext.h",
    "cpvt_word.h",
    "cpvt_wordinfo.cpp",
    "cpvt_wordinfo.h",
    "cpvt_wordplace.h",
    "cpvt_wordrange.h",
    "ipvt_fontmap.h",
  ]
  configs += [
    "../../:pdfium_strict_config",
    "../../:pdfium_noshorten_config",
  ]
  deps = [
    "../../constants",
    "../fpdfapi/edit:contentstream_write_utils",
    "../fpdfapi/font",
    "../fpdfapi/page",
    "../fpdfapi/parser",
    "../fpdfapi/render",
    "../fxcrt",
    "../fxge",
  ]
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cpdf_action_unittest.cpp",
    "cpdf_annot_unittest.cpp",
    "cpdf_annotlist_unittest.cpp",
    "cpdf_bafontmap_unittest.cpp",
    "cpdf_defaultappearance_unittest.cpp",
    "cpdf_dest_unittest.cpp",
    "cpdf_filespec_unittest.cpp",
    "cpdf_formfield_unittest.cpp",
    "cpdf_metadata_unittest.cpp",
    "cpdf_nametree_unittest.cpp",
    "cpdf_pagelabel_unittest.cpp",
  ]
  deps = [
    ":fpdfdoc",
    "../../constants",
    "../fpdfapi/font",
    "../fpdfapi/page",
    "../fpdfapi/page:unit_test_support",
    "../fpdfapi/parser",
    "../fpdfapi/parser:unit_test_support",
    "../fpdfapi/render",
  ]
  pdfium_root_dir = "../../"
}
