| # Copyright 2022 The ChromiumOS Authors | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| import("//common-mk/generate-dbus-adaptors.gni") | |
| import("//common-mk/pkg_config.gni") | |
| # "all" is the root target built by platform2 build system. | |
| group("all") { | |
| deps = [ | |
| ":install_dbus_config", | |
| ":install_dbus_service", | |
| ":install_upstart_config", | |
| ":lvmd", | |
| ":lvmd_client", | |
| ] | |
| if (use.test) { | |
| deps += [ ":lvmd_tests" ] | |
| } | |
| } | |
| pkg_config("target_defaults") { | |
| # NOSORT | |
| pkg_deps = [ | |
| "libchrome", | |
| "libbrillo", | |
| # system_api depends on protobuf (or protobuf-lite). It must appear | |
| # before protobuf here or the linker flags won't be in the right | |
| # order. | |
| "system_api", | |
| "protobuf-lite", | |
| ] | |
| } | |
| pkg_config("lvmd_client_config") { | |
| pkg_deps = [ "liblvmd-client" ] | |
| } | |
| generate_dbus_adaptors("lvmd_dbus_adaptors") { | |
| dbus_service_config = "dbus/dbus-service-config.json" | |
| dbus_adaptors_out_dir = "include/lvmd/dbus_adaptors" | |
| sources = [ "dbus/org.chromium.Lvmd.xml" ] | |
| } | |
| static_library("liblvmd") { | |
| sources = [ "lvmd.cc" ] | |
| configs += [ ":target_defaults" ] | |
| deps = [ ":lvmd_dbus_adaptors" ] | |
| } | |
| executable("lvmd") { | |
| sources = [ "main.cc" ] | |
| configs += [ ":target_defaults" ] | |
| deps = [ | |
| ":liblvmd", | |
| ":lvmd_dbus_adaptors", | |
| ] | |
| install_path = "sbin" | |
| } | |
| install_config("install_dbus_config") { | |
| sources = [ "dbus/org.chromium.Lvmd.conf" ] | |
| install_path = "dbus_system_d" | |
| } | |
| install_config("install_dbus_service") { | |
| sources = [ "dbus/org.chromium.Lvmd.service" ] | |
| install_path = "dbus_system_services" | |
| } | |
| install_config("install_upstart_config") { | |
| sources = [ "init/lvmd.conf" ] | |
| install_path = "upstart" | |
| } | |
| executable("lvmd_client") { | |
| sources = [ "lvmd_client.cc" ] | |
| configs += [ | |
| ":target_defaults", | |
| ":lvmd_client_config", | |
| ] | |
| deps = [ ":lvmd_dbus_adaptors" ] | |
| install_path = "sbin" | |
| } | |
| # For test: | |
| if (use.test) { | |
| pkg_config("lvmd_tests_config") { | |
| pkg_deps = [ | |
| "libbrillo-test", | |
| "libchrome-test", | |
| ] | |
| } | |
| executable("lvmd_tests") { | |
| sources = [ "lvmd_test.cc" ] | |
| configs += [ | |
| "//common-mk:test", | |
| ":lvmd_tests_config", | |
| ":target_defaults", | |
| ] | |
| run_test = true | |
| deps = [ | |
| ":liblvmd", | |
| ":lvmd_dbus_adaptors", | |
| "//common-mk/testrunner", | |
| ] | |
| } | |
| } |