# 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("edit") {
  sources = [
    "cpdf_creator.cpp",
    "cpdf_creator.h",
    "cpdf_font_util.cpp",
    "cpdf_font_util.h",
    "cpdf_fontsubsetter.cpp",
    "cpdf_fontsubsetter.h",
    "cpdf_npagetooneexporter.cpp",
    "cpdf_npagetooneexporter.h",
    "cpdf_pagecontentgenerator.cpp",
    "cpdf_pagecontentgenerator.h",
    "cpdf_pagecontentmanager.cpp",
    "cpdf_pagecontentmanager.h",
    "cpdf_pageexporter.cpp",
    "cpdf_pageexporter.h",
    "cpdf_pageorganizer.cpp",
    "cpdf_pageorganizer.h",
    "cpdf_stringarchivestream.cpp",
    "cpdf_stringarchivestream.h",
  ]
  configs += [
    "../../../:pdfium_strict_config",
    "../../../:pdfium_noshorten_config",
  ]
  deps = [
    ":contentstream_write_utils",
    "../../../constants",
    "../../fxcrt",
    "../font",
    "../page",
    "../parser",
    "//third_party/harfbuzz",
  ]
  visibility = [ "../../../*" ]
}

source_set("contentstream_write_utils") {
  sources = [
    "cpdf_contentstream_write_utils.cpp",
    "cpdf_contentstream_write_utils.h",
  ]
  configs += [
    "../../../:pdfium_strict_config",
    "../../../:pdfium_noshorten_config",
  ]
  deps = [
    "../../fxcrt",
    "//third_party/dragonbox",
  ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cpdf_contentstream_write_utils_unittest.cpp",
    "cpdf_npagetooneexporter_unittest.cpp",
    "cpdf_pagecontentgenerator_unittest.cpp",
  ]
  deps = [
    ":contentstream_write_utils",
    ":edit",
    "../../fxge",
    "../font",
    "../page",
    "../page:unit_test_support",
    "../parser",
    "../parser:unit_test_support",
    "../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" ]
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "cpdf_creator_embeddertest.cpp",
    "cpdf_fontsubsetter_embeddertest.cpp",
  ]
  deps = [
    ":edit",
    "../../fxge",
    "../font",
    "../parser",
  ]
  pdfium_root_dir = "../../../"
}
