chromium/components/viz/viz.gni

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//gpu/vulkan/features.gni")
import("//skia/features.gni")
import("//testing/test.gni")

# Fuchsia doesn't support GL rendering so there is no need to run tests for
# that code path.
enable_gl_backend_tests = !is_fuchsia

# TODO(samans): Support more configurations.
# CFI: TODO(crbug.com/40629477): Fix Control Flow Integrity check failure.
# Fuchsia: TODO(crbug.com/42050537): Enable on ARM64 when bots support Vulkan.
enable_vulkan_backend_tests =
    enable_vulkan &&
    ((is_linux && !is_castos && !is_cfi) || (is_fuchsia && target_cpu == "x64"))

enable_skia_graphite_tests =
    (skia_use_dawn || skia_use_metal) && enable_skia_graphite_gtests

# TODO(crbug.com/1336055): Determine whether is_cast_android needs this.
enable_cast_overlay_strategy = is_castos || is_cast_android

viz_remove_configs = []
viz_add_configs = [ "//build/config:precompiled_headers" ]

if (!is_debug) {
  viz_remove_configs += [ "//build/config/compiler:default_optimization" ]
  viz_add_configs += [ "//build/config/compiler:optimize_max" ]
}

template("viz_source_set") {
  source_set(target_name) {
    forward_variables_from(invoker, "*", [ "configs" ])
    if (defined(invoker.configs)) {
      configs += invoker.configs
    }
    configs -= viz_remove_configs
    configs += viz_add_configs
  }
}

template("viz_component") {
  component(target_name) {
    forward_variables_from(invoker, "*", [ "configs" ])
    if (defined(invoker.configs)) {
      configs += invoker.configs
    }
    configs -= viz_remove_configs
    configs += viz_add_configs
  }
}

template("viz_static_library") {
  static_library(target_name) {
    forward_variables_from(invoker, "*", [ "configs" ])
    if (defined(invoker.configs)) {
      configs += invoker.configs
    }
    configs -= viz_remove_configs
    configs += viz_add_configs
  }
}

template("viz_test") {
  test(target_name) {
    forward_variables_from(invoker, "*", [ "configs" ])
    if (defined(invoker.configs)) {
      configs += invoker.configs
    }
    configs -= viz_remove_configs
    configs += viz_add_configs
  }
}