| # Copyright 2022 The Fuchsia 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("//third_party/fuchsia-sdk/build/component.gni") |
| import("//third_party/fuchsia-sdk/build/package.gni") |
| import("//third_party/fuchsia-sdk/build/test.gni") |
| |
| # tests group |
| group("tests") { |
| testonly = true |
| public_deps = [ |
| ":greeting_service_pkg", |
| ":greeter_test_pkg", |
| ] |
| } |
| |
| # Build the greeter component implementation |
| executable("greeter_exe") { |
| sources = [ "greeter.cc" ] |
| deps = [ |
| "//src/realm_builder/fidl:fuchsia.sdk.examples.fidl", |
| "//third_party/fuchsia-sdk/pkg/async-loop-cpp", |
| "//third_party/fuchsia-sdk/pkg/async-loop-default", |
| "//third_party/fuchsia-sdk/pkg/fidl_cpp", |
| "//third_party/fuchsia-sdk/pkg/sys_cpp", |
| ] |
| } |
| |
| fuchsia_component("greeting_service") { |
| manifest = "meta/greeting_service.cml" |
| data_deps = [ ":greeter_exe" ] |
| } |
| |
| fuchsia_component("greeting_service_v1") { |
| manifest = "meta/greeting_service.cmx" |
| data_deps = [ ":greeter_exe" ] |
| } |
| |
| # Component package contains both a CML and CMX implementation of greeter |
| fuchsia_package("greeting_service_pkg") { |
| testonly = true |
| package_name = "greeting_service" |
| deps = [ |
| ":greeting_service", |
| ":greeting_service_v1", |
| ] |
| } |
| |
| # Build the greeter integration test component |
| executable("greeter_test_exe") { |
| testonly = true |
| sources = [ "test/realm_builder_test.cc" ] |
| deps = [ |
| "//src/realm_builder/fidl:fuchsia.sdk.examples.fidl", |
| "//third_party/fuchsia-sdk/fidl/fuchsia.logger", |
| "//third_party/fuchsia-sdk/pkg/async", |
| "//third_party/fuchsia-sdk/pkg/async-default", |
| "//third_party/fuchsia-sdk/pkg/async-loop-cpp", |
| "//third_party/fuchsia-sdk/pkg/async-loop-default", |
| "//third_party/fuchsia-sdk/pkg/fidl_cpp", |
| "//third_party/fuchsia-sdk/pkg/fit", |
| "//third_party/fuchsia-sdk/pkg/sys_component_cpp_testing", |
| "//third_party/fuchsia-sdk/pkg/zx", |
| "//third_party/googletest:gtest", |
| "//third_party/googletest:gtest_main", |
| ] |
| } |
| |
| fuchsia_component("greeter_test") { |
| testonly = true |
| manifest = "meta/greeter_test.cml" |
| data_deps = [ ":greeter_test_exe" ] |
| } |
| |
| # Test package that also bundles the CML implementation of greeter |
| fuchsia_package("greeter_test_pkg") { |
| testonly = true |
| package_name = "greeter_test" |
| deps = [ |
| ":greeter_test", |
| ":greeting_service", |
| ] |
| } |