blob: 856c62306ad85a9d570789e549da1d2920d6502a [file] [log] [blame]
# Copyright 2016 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/linux/pkg_config.gni")
assert(is_linux)
declare_args() {
# Controls whether the build should use the version of gestures
# library shipped with the system. In release builds of Chrome OS we
# use the system version, but when building on dev workstations we
# bundle it because Ubuntu doesn't ship a usable version.
use_system_gestures = true
}
if (!use_system_gestures) {
config("gestures_config") {
include_dirs = [
".",
"include",
"//third_party/googletest/src/googletest/include",
]
}
static_library("gestures") {
sources = [
"gestures/src/accel_filter_interpreter.cc",
"gestures/src/activity_log.cc",
"gestures/src/box_filter_interpreter.cc",
"gestures/src/click_wiggle_filter_interpreter.cc",
"gestures/src/cr48_profile_sensor_filter_interpreter.cc",
"gestures/src/file_util.cc",
"gestures/src/filter_interpreter.cc",
"gestures/src/finger_merge_filter_interpreter.cc",
"gestures/src/finger_metrics.cc",
"gestures/src/fling_stop_filter_interpreter.cc",
"gestures/src/gestures.cc",
"gestures/src/iir_filter_interpreter.cc",
"gestures/src/immediate_interpreter.cc",
"gestures/src/integral_gesture_filter_interpreter.cc",
"gestures/src/interpreter.cc",
"gestures/src/logging_filter_interpreter.cc",
"gestures/src/lookahead_filter_interpreter.cc",
"gestures/src/metrics_filter_interpreter.cc",
"gestures/src/mouse_interpreter.cc",
"gestures/src/multitouch_mouse_interpreter.cc",
"gestures/src/non_linearity_filter_interpreter.cc",
"gestures/src/palm_classifying_filter_interpreter.cc",
"gestures/src/prop_registry.cc",
"gestures/src/scaling_filter_interpreter.cc",
"gestures/src/sensor_jump_filter_interpreter.cc",
"gestures/src/split_correcting_filter_interpreter.cc",
"gestures/src/stationary_wiggle_filter_interpreter.cc",
"gestures/src/string_util.cc",
"gestures/src/stuck_button_inhibitor_filter_interpreter.cc",
"gestures/src/t5r2_correcting_filter_interpreter.cc",
"gestures/src/trace_marker.cc",
"gestures/src/tracer.cc",
"gestures/src/trend_classifying_filter_interpreter.cc",
"gestures/src/util.cc",
]
deps = [
"//third_party/jsoncpp",
]
defines = [ "GESTURES_INTERNAL=1" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
# gestures uses typeid.
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
if (is_clang) {
# Suppress warnings from the Chromium Clang plugin.
configs -= [ "//build/config/clang:find_bad_constructs" ]
}
public_configs = [ ":gestures_config" ]
}
}
if (use_system_gestures) {
pkg_config("libgestures") {
packages = [ "libgestures" ]
}
group("gestures") {
public_configs = [ ":libgestures" ]
}
}