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

source_set("fpdfdoc") {
  sources = [
    "cba_fontmap.cpp",
    "cba_fontmap.h",
    "cline.cpp",
    "cline.h",
    "cpdf_aaction.cpp",
    "cpdf_aaction.h",
    "cpdf_action.cpp",
    "cpdf_action.h",
    "cpdf_actionfields.cpp",
    "cpdf_actionfields.h",
    "cpdf_annot.cpp",
    "cpdf_annot.h",
    "cpdf_annotlist.cpp",
    "cpdf_annotlist.h",
    "cpdf_apsettings.cpp",
    "cpdf_apsettings.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_docjsactions.cpp",
    "cpdf_docjsactions.h",
    "cpdf_filespec.cpp",
    "cpdf_filespec.h",
    "cpdf_formcontrol.cpp",
    "cpdf_formcontrol.h",
    "cpdf_formfield.cpp",
    "cpdf_formfield.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_variabletext.cpp",
    "cpdf_variabletext.h",
    "cpdf_viewerpreferences.cpp",
    "cpdf_viewerpreferences.h",
    "cpvt_floatrect.h",
    "cpvt_fontmap.cpp",
    "cpvt_fontmap.h",
    "cpvt_generateap.cpp",
    "cpvt_generateap.h",
    "cpvt_line.h",
    "cpvt_lineinfo.h",
    "cpvt_word.h",
    "cpvt_wordinfo.cpp",
    "cpvt_wordinfo.h",
    "cpvt_wordplace.h",
    "cpvt_wordrange.h",
    "csection.cpp",
    "csection.h",
    "ctypeset.cpp",
    "ctypeset.h",
    "ipvt_fontmap.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  deps = [
    "../../constants",
    "../fpdfapi/font",
    "../fpdfapi/page",
    "../fpdfapi/parser",
    "../fpdfapi/render",
    "../fxcrt",
    "../fxge",
  ]
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cpdf_annot_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",
  ]
  deps = [
    ":fpdfdoc",
    "../fpdfapi/parser",
  ]
  pdfium_root_dir = "../../"
}
