# 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("//garnet/lib/magma/gnbuild/magma.gni")

executable("vkcube") {
  include_dirs = [ "." ]

  defines = [ "VK_USE_PLATFORM_FUCHSIA" ]

  sources = [
    "$magma_build_root/third_party/vkcube/cube.cc",
    "main.cc",
  ]

  deps = [
    "$magma_build_root/src/magma_util",
    "$magma_build_root/src/magma_util/platform:trace",
    "$zircon_build_root/public/lib/async-loop-cpp",
    "$zircon_build_root/public/lib/trace-provider",
  ]

  if (use_vulkan_loader_for_tests) {
    deps += [ "//third_party/vulkan_loader_and_validation_layers:vulkan" ]
  } else {
    deps += [ "$magma_build_root/tests/vulkan_shim" ]
  }
}
