blob: 0cf4e992aa2c4bcd31188b6f629b255005891e9b [file] [log] [blame]
# Copyright 2018 The Chromium OS 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("//common-mk/pkg_config.gni")
group("all") {
deps = [ ":generate-chromeos-dbus-bindings" ]
if (use.test) {
deps += [ ":chromeos_dbus_bindings_unittest" ]
}
}
pkg_config("target_default_pkg_deps") {
pkg_deps = [
"libbrillo",
"libchrome",
]
}
config("target_defaults") {
cflags = [
"-Wextra",
"-Wno-unused-parameter", # for scoped_ptr.h, included indirectly
]
cflags_cc = [
"-fno-strict-aliasing",
"-Woverloaded-virtual",
]
configs = [ ":target_default_pkg_deps" ]
}
pkg_config("libchromeos-dbus-bindings_config") {
pkg_deps = [ "dbus-1" ]
}
pkg_config("libchromeos-dbus-bindings_config_export") {
pkg_deps = [ "expat" ]
}
static_library("libchromeos-dbus-bindings") {
sources = [
"adaptor_generator.cc",
"dbus_signature.cc",
"disallow_copy_and_assign.cc",
"header_generator.cc",
"indented_text.cc",
"method_name_generator.cc",
"name_parser.cc",
"proxy_generator.cc",
"xml_interface_parser.cc",
]
configs += [
":target_defaults",
":libchromeos-dbus-bindings_config",
]
all_dependent_configs = [ ":libchromeos-dbus-bindings_config_export" ]
}
executable("generate-chromeos-dbus-bindings") {
sources = [ "generate_chromeos_dbus_bindings.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":libchromeos-dbus-bindings" ]
}
if (use.test) {
executable("chromeos_dbus_bindings_unittest") {
sources = [
"adaptor_generator_test.cc",
"dbus_signature_test.cc",
"indented_text_test.cc",
"method_name_generator_test.cc",
"name_parser_test.cc",
"proxy_generator_mock_test.cc",
"proxy_generator_test.cc",
"test_utils.cc",
"xml_interface_parser_test.cc",
]
configs += [
"//common-mk:test",
":target_defaults",
]
deps = [
":libchromeos-dbus-bindings",
"//common-mk/testrunner:testrunner",
]
}
}