# 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("//build/components.gni")
import("//build/rust/rustc_library.gni")
import("//build/rust/rustc_test.gni")
import("//src/lib/vulkan/vulkan.gni")

rustc_library("fuchsia-vulkan") {
  name = "fuchsia_vulkan"
  version = "0.1.0"
  edition = "2021"

  with_unit_tests = true

  deps = [
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:derivative",
    "//third_party/rust_crates:vk-sys",
  ]

  non_rust_deps = [ "//src/lib/vulkan" ]

  sources = [ "src/lib.rs" ]
}

fuchsia_unittest_package("fuchsia_vulkan_tests") {
  manifest = "meta/fuchsia_vulkan_tests.cml"
  deps = [ ":fuchsia-vulkan_test" ]
  test_specs = {
    environments = vulkan_envs
  }
  test_type = "vulkan"
}

group("tests") {
  testonly = true
  deps = [ ":fuchsia_vulkan_tests" ]
}
