# Copyright 2019 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/config/clang/clang.gni")

# TODO(https://fxbug.dev/42099824): Move these to a build_overrides/ file to support the
# standalone build as well.

# Top-level directory of the graphics compute source repository.
graphics_compute_dir = "//src/graphics/lib/compute"

# A GN target used in compiled_action() targets to invoke the glslangValidator
# host tool at build time.
graphics_compute_glslangValidator_tool_target =
    "//third_party/glslang:glslang_validator"

# Path to the 'clang-format' host tool. Only used to generate debug shaders.
# Should be either an absolute path, or a source-absolute one.
graphics_compute_clang_format_host_tool = "$clang_prefix/clang-format"

# A GN target that provides the GoogleTest library. To be used as a dependency
# in source sets that include <gtest/gtest.h>. Executable should depend on
# graphics_compute_gtest_main_target, which is defined differently for the
# host and Fuchsia builds.
graphics_compute_gtest_target = "//third_party/googletest:gtest"

# A GN target that provides the GoogleMock library, which is not part of
# GoogleTest. To be used as a dependency in source sets that include
# <gmock/gmock.h>.
graphics_compute_gmock_target = "//third_party/googletest:gmock"
