# Copyright 2016 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("//src/graphics/lib/magma/gnbuild/magma.gni")

source_set("src") {
  testonly = true

  sources = [
    "icd_load.cc",
    "icd_load.h",
  ]
  public_deps = [
    "//src/lib/fxl/test:test_settings",
    "//third_party/googletest:gtest",
  ]
  public_deps += [ "//src/lib/vulkan" ]
}

executable("icd_load_bin") {
  testonly = true
  output_name = "icd_load"

  deps = [ ":src" ]
}

fuchsia_component("icd_load_cmp") {
  testonly = true
  component_name = "icd_load"
  deps = [
    ":icd_load_bin",
    "//src/lib/vulkan/validation_layers",
  ]

  manifest = "meta/icd_load.cmx"
}

# icd_load and icd_load_v2 are identical, except that they use component
# framework v1 and v2, respectively.
fuchsia_component("icd_load_v2_cmp") {
  testonly = true
  component_name = "icd_load_v2"
  deps = [
    ":icd_load_bin",
    "//sdk/lib/vulkan",
    "//src/lib/vulkan/validation_layers",
  ]

  manifest = "meta/icd_load.cml"
}

fuchsia_test_package("icd-load") {
  package_name = "icd_load"
  test_components = [
    ":icd_load_cmp",
    ":icd_load_v2_cmp",
  ]
  test_specs = {
    environments = magma_libvulkan_hardware_envs
  }
}

group("icd_load") {
  testonly = true
  deps = [ ":icd-load" ]
}
