blob: 70c490758a9ad7c722a16532e2402fba62a59c63 [file] [log] [blame]
# Copyright 2014 The Chromium 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/features.gni")
import("//build/config/ui.gni")
gypi_values = exec_script(
"//build/gypi_to_gn.py",
[ rebase_path("views.gyp") ],
"scope",
[ "views.gyp" ])
component("views") {
sources = gypi_values.views_sources
defines = [ "VIEWS_IMPLEMENTATION" ]
deps = [
"//base:i18n",
"//base/third_party/dynamic_annotations",
"//skia",
"//third_party/icu",
"//ui/accessibility",
"//ui/aura",
"//ui/native_theme",
"//ui/resources",
"//ui/strings",
"//ui/wm",
"//url",
]
public_deps = [
"//base",
"//ui/accessibility:ax_gen",
"//ui/base",
"//ui/compositor",
"//ui/events",
"//ui/events:events_base",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
]
if (use_x11 && !is_chromeos) {
deps += [ "//ui/display/util" ]
}
if (is_linux && !is_chromeos) {
sources -= [ "window/window_button_order_provider.cc" ]
deps += [ "//ui/shell_dialogs" ]
} else {
sources -= [
"linux_ui/linux_ui.h",
"linux_ui/linux_ui.cc",
"linux_ui/window_button_order_observer.h",
"linux_ui/window_button_order_provider.cc",
]
}
if (is_chromeos) {
sources -= [
"linux_ui/status_icon_linux.h",
"linux_ui/status_icon_linux.cc",
]
}
if (is_win) {
sources += gypi_values.views_win_sources
cflags = [ "/wd4267" ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
libs = [ "/imm32.lib", "oleacc.lib" ]
ldflags = [ "/DELAYLOAD:user32.dll" ]
deps += [
"//third_party/iaccessible2",
"//third_party/wtl",
]
}
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
if (use_x11) {
configs += [
"//build/config/linux:x11",
"//build/config/linux:xrandr",
]
deps += [
"//ui/events/devices",
"//ui/events/platform/x11",
"//ui/gfx/x",
]
}
if (use_aura) {
sources += gypi_values.views_aura_sources
if (!is_chromeos) {
sources += gypi_values.views_desktop_aura_sources
if (use_x11) {
sources += gypi_values.views_desktop_aura_x11_sources
} else if (is_win) {
sources += gypi_values.views_desktop_aura_win_sources
} else if (use_ozone) {
sources += gypi_values.views_desktop_aura_ozone_sources
}
}
}
}
static_library("test_support") {
testonly = true
sources = gypi_values.views_test_support_sources
public_deps = [
":views",
]
deps = [
"//base",
"//ipc:test_support",
"//skia",
"//testing/gtest",
"//ui/aura",
"//ui/base",
"//ui/compositor",
"//ui/compositor:test_support",
"//ui/events",
"//ui/events:events_base",
"//ui/events:test_support",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/wm",
]
if (is_chromeos || !use_x11) {
sources -= [
"test/ui_controls_factory_desktop_aurax11.cc",
"test/ui_controls_factory_desktop_aurax11.h",
]
}
if (use_aura) {
sources += gypi_values.views_test_support_aura_sources
deps += [ "//ui/aura:test_support" ]
}
if (use_x11) {
deps += [ "//ui/gfx/x" ]
}
if (use_ozone) {
sources -= [
"test/x11_property_change_waiter.cc",
]
}
}
test("views_unittests") {
sources = gypi_values.views_unittests_sources
deps = [
":test_support",
"//base",
"//base:i18n",
"//base/allocator",
"//base/test:test_support",
"//skia",
"//testing/gtest",
"//third_party/icu",
"//ui/accessibility",
"//ui/aura",
"//ui/base",
"//ui/base:test_support",
"//ui/compositor:test_support",
"//ui/events:test_support",
"//ui/events:events_base",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gl",
"//ui/resources",
"//ui/strings",
"//ui/wm",
"//url",
]
if (is_chromeos) {
sources -= [
"ime/input_method_bridge_unittest.cc",
]
}
if (is_win) {
deps += [
"//third_party/iaccessible2",
"//third_party/wtl",
]
libs = [
"imm32.lib",
"oleacc.lib",
"comctl32.lib",
]
# TOOD(GYP)
#'msvs_settings': {
# 'VCManifestTool': {
# 'AdditionalManifestFiles': [
# '$(ProjectDir)\\test\\views_unittest.manifest',
# ],
# },
#},
}
if (use_x11) {
configs += [
"//build/config/linux:x11",
"//build/config/linux:xext",
]
deps += [
"//ui/events/devices",
"//ui/events/platform/x11",
"//ui/gfx/x",
]
}
if (use_aura) {
sources += gypi_values.views_unittests_aura_sources
deps += [ "//ui/aura:test_support" ]
if (!is_chromeos) {
sources += gypi_values.views_unittests_desktop_aura_sources
}
}
if (use_x11) {
deps += [
"//ui/events/platform/x11",
"//ui/gfx/x",
]
}
if (is_mac) {
# views_unittests not yet compiling on Mac. http://crbug.com/378134
sources -= [
"bubble/bubble_window_targeter_unittest.cc",
"controls/button/custom_button_unittest.cc",
"controls/button/menu_button_unittest.cc",
"controls/native/native_view_host_unittest.cc",
"controls/menu/menu_controller_unittest.cc",
"ime/input_method_bridge_unittest.cc",
"focus/focus_manager_unittest.cc",
"widget/window_reorderer_unittest.cc",
"widget/widget_unittest.cc",
]
}
}
if (is_mac) {
test("macviews_interactive_ui_tests") {
sources = [
"run_all_unittests.cc",
"widget/native_widget_mac_interactive_uitest.mm",
]
deps = [
":test_support",
":views",
"//base",
"//base/test:test_support",
"//skia",
"//testing/gtest",
"//ui/aura",
"//ui/compositor",
"//ui/resources",
"//ui/resources:ui_test_pak",
"//ui/strings",
"//ui/wm",
]
}
}