# 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.cpp",
    "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_interactiveform_unittest.cpp",
    "cpdf_metadata_unittest.cpp",
    "cpdf_nametree_unittest.cpp",
    "cpdf_pagelabel_unittest.cpp",
    "cpvt_section_unittest.cpp",
    "cpvt_stub_provider.cpp",
    "cpvt_stub_provider.h",
    "cpvt_variabletext_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 = "../../"

  # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
  # enable the diagnostic by removing this line.
  configs = [ "//build/config/compiler:no_exit_time_destructors" ]
}
