Index: third_party/gestures/BUILD.gn |
diff --git a/third_party/gestures/BUILD.gn b/third_party/gestures/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1b80c0b69e75d780427c32aab48350c74312a3e4 |
--- /dev/null |
+++ b/third_party/gestures/BUILD.gn |
@@ -0,0 +1,97 @@ |
+# 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", |
+ "//testing/gtest/include", |
+ ] |
+ } |
+ |
+ pkg_config("jsoncpp") { |
+ packages = [ "jsoncpp" ] |
+ } |
+ |
+ 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", |
+ ] |
+ |
+ defines = [ "GESTURES_INTERNAL=1" ] |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ configs += [ |
+ "//build/config/compiler:no_chromium_code", |
+ ":jsoncpp", |
+ ] |
+ |
+ # 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" ] |
+ } |
+} |