# 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("pwl") {
  sources = [
    "cpwl_appstream.cpp",
    "cpwl_appstream.h",
    "cpwl_button.cpp",
    "cpwl_button.h",
    "cpwl_caret.cpp",
    "cpwl_caret.h",
    "cpwl_combo_box.cpp",
    "cpwl_combo_box.h",
    "cpwl_edit.cpp",
    "cpwl_edit.h",
    "cpwl_edit_ctrl.cpp",
    "cpwl_edit_ctrl.h",
    "cpwl_edit_impl.cpp",
    "cpwl_edit_impl.h",
    "cpwl_icon.cpp",
    "cpwl_icon.h",
    "cpwl_list_box.cpp",
    "cpwl_list_box.h",
    "cpwl_list_impl.cpp",
    "cpwl_list_impl.h",
    "cpwl_scroll_bar.cpp",
    "cpwl_scroll_bar.h",
    "cpwl_special_button.cpp",
    "cpwl_special_button.h",
    "cpwl_timer.cpp",
    "cpwl_timer.h",
    "cpwl_timer_handler.cpp",
    "cpwl_timer_handler.h",
    "cpwl_wnd.cpp",
    "cpwl_wnd.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  deps = [
    "../../:pdfium_public_headers",
    "../../constants",
    "../../core/fpdfapi/font",
    "../../core/fpdfapi/page",
    "../../core/fpdfapi/parser",
    "../../core/fpdfapi/render",
    "../../core/fpdfdoc",
    "../../core/fxcrt",
    "../../core/fxge",
  ]
  visibility = [ "../../*" ]
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "cpwl_combo_box_embeddertest.cpp",
    "cpwl_edit_embeddertest.cpp",
  ]
  deps = [
    ":pwl",
    "../:fpdfsdk",
    "../formfiller",
  ]
  pdfium_root_dir = "../../"
}
