# 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_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_wnd.cpp",
    "cpwl_wnd.h",
    "ipwl_systemhandler.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  deps = [
    "../../:pdfium_public_headers",
    "../../constants",
    "../../core/fpdfapi/font",
    "../../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 = "../../"
}
