| # Copyright 2026 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. | |
| load("//build/bazel/rules/cc:fx_cc_library.bzl", "fx_cc_library") | |
| load("//build/bazel/rules/cc:fx_cc_test_binary.bzl", "fx_cc_test_binary") | |
| load("//build/bazel/rules/testing:fx_unittest_package.bzl", "fx_unittest_package") | |
| package(default_applicable_licenses = ["//:license"]) | |
| test_suite( | |
| name = "tests", | |
| tests = [ | |
| ":unittests-package", | |
| ], | |
| visibility = ["//src/graphics/display:__pkg__"], | |
| ) | |
| # Unused by this library, but preserved in GN public_deps for parity until | |
| # downstream GN callers stop relying on the transitive dep. | |
| # @bazel2gn:raw_attribute:public_deps += [ "//sdk/lib/driver/compat/cpp" ] | |
| fx_cc_library( | |
| name = "cpp", | |
| srcs = [ | |
| "backlight-fidl-adapter.cc", | |
| "display-engine-events-fidl.cc", | |
| "display-engine-fidl-adapter.cc", | |
| "display-engine-interface.cc", | |
| "inplace-vector.cc", | |
| ], | |
| hdrs = [ | |
| "backlight-fidl-adapter.h", | |
| "backlight-interface.h", | |
| "display-engine-events-fidl.h", | |
| "display-engine-events-interface.h", | |
| "display-engine-fidl-adapter.h", | |
| "display-engine-interface.h", | |
| "inplace-vector.h", | |
| ], | |
| # Sources use workspace-root angled `#include <sdk/lib/driver/logging/cpp/logger.h>`. | |
| copts = ["-I."], # @bazel2gn:skip | |
| implementation_deps = [ | |
| "//sdk/fidl/fuchsia.images2:fuchsia.images2_cpp", | |
| "//sdk/fidl/fuchsia.math:fuchsia.math_cpp", | |
| "//sdk/lib/driver/logging/cpp", | |
| ], | |
| # Note: Fuchsia-only (public headers include Zircon and FDF driver wire messaging headers). | |
| target_compatible_with = ["@platforms//os:fuchsia"], | |
| visibility = [ | |
| "//src/graphics/display:__subpackages__", | |
| "//vendor/google:__subpackages__", | |
| ], | |
| deps = [ | |
| "//sdk/fidl/fuchsia.hardware.backlight:fuchsia.hardware.backlight_cpp", | |
| "//sdk/fidl/fuchsia.hardware.display.engine:fuchsia.hardware.display.engine_cpp", | |
| "//sdk/fidl/fuchsia.hardware.display.types:fuchsia.hardware.display.types_cpp", | |
| "//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2_cpp", | |
| "//src/graphics/display/lib/api-types/cpp", | |
| "//zircon/system/ulib/zx", | |
| ], | |
| alwayslink = True, | |
| ) | |
| fx_cc_test_binary( | |
| name = "unittests", | |
| srcs = [ | |
| "backlight-fidl-adapter-test.cc", | |
| "backlight-interface-test.cc", | |
| "display-engine-events-fidl-test.cc", | |
| "display-engine-events-interface-test.cc", | |
| "display-engine-fidl-adapter-test.cc", | |
| "display-engine-interface-test.cc", | |
| "inplace-vector-test.cc", | |
| "mock-backlight.cc", | |
| "mock-backlight.h", | |
| "mock-display-engine.cc", | |
| "mock-display-engine.h", | |
| "mock-fidl-display-engine-listener.cc", | |
| "mock-fidl-display-engine-listener.h", | |
| ], | |
| gn_output_name = "display-api-protocols-cpp-tests", | |
| # Note: Fuchsia-only (depends on Fuchsia-only :cpp). | |
| target_compatible_with = ["@platforms//os:fuchsia"], | |
| deps = [ | |
| ":cpp", | |
| "//sdk/lib/async:async-cpp", | |
| "//sdk/lib/async-loop:async-loop-cpp", | |
| "//sdk/lib/async-loop:async-loop-default", | |
| "//sdk/lib/driver/testing/cpp", | |
| "//sdk/lib/driver/testing/cpp:scoped_global_logger", | |
| "//sdk/lib/fit", | |
| "//src/devices/bin/driver_runtime", | |
| "//src/lib/fxl/test:gtest_main", | |
| "//src/lib/testing/predicates", | |
| "//zircon/system/ulib/image-format", | |
| "//zircon/system/ulib/sync:sync-cpp", | |
| "@com_google_googletest//:gtest", | |
| ], | |
| ) | |
| fx_unittest_package( | |
| name = "unittests-package", | |
| package_name = "display-api-protocols-cpp-tests", | |
| unit_tests = [":unittests"], | |
| ) |