skia2/gn/skia.gni
Derek Sollenberger 1afa5fb64b Reduce scope of SkQP to pass/fail runs of GMs and UnitTests
Going forward specific GMs can be added to the rendertest.txt
in order to do a basic pass/fail run based on whether the GM
can successfully complete without crashing.

The output of the executable was also updated to print one test
per line in order to make following its execution more readable.

Bug: skia:12777
Change-Id: I98f6fa7af765130ddf68203d62c972659fd4e325
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/489617
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2022-01-04 18:07:48 +00:00

219 lines
7.4 KiB
Plaintext

# Copyright 2019 Google LLC.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (!defined(is_skia_standalone)) {
is_skia_standalone = false
}
is_skia_dev_build = is_skia_standalone && !is_official_build
declare_args() {
skia_android_serial = ""
skia_compile_processors = false
skia_enable_api_available_macro = true
skia_enable_android_utils = is_skia_dev_build
skia_enable_skgpu_v1 = true
skia_enable_discrete_gpu = true
skia_enable_flutter_defines = false
skia_enable_fontmgr_empty = false
skia_enable_fontmgr_fuchsia = is_fuchsia
skia_enable_fontmgr_win = is_win
skia_enable_gpu = true
skia_enable_pdf = true
skia_enable_skottie = !(is_win && is_component_build)
skia_enable_skrive = true
skia_enable_sksl = true
skia_enable_skvm_jit_when_possible = is_skia_dev_build
skia_enable_svg = !is_component_build
skia_enable_tools = is_skia_dev_build
skia_enable_gpu_debug_layers = is_skia_dev_build && is_debug
skia_disable_vma_stl_shared_mutex = false
skia_enable_winuwp = false
skia_generate_workarounds = false
skia_include_multiframe_procs = false
skia_lex = false
skia_libgifcodec_path = "third_party/externals/libgifcodec"
skia_qt_path = getenv("QT_PATH")
skia_tools_require_resources = false
skia_update_fuchsia_sdk = false
skia_use_angle = false
skia_use_dawn = false
skia_use_direct3d = false
skia_use_egl = false
skia_use_expat = true
skia_use_experimental_xform = false
skia_use_ffmpeg = false
skia_use_fixed_gamma_text = is_android
skia_use_fontconfig = is_linux
skia_use_fonthost_mac = is_mac || is_ios
skia_use_freetype = is_android || is_fuchsia || is_linux
skia_use_harfbuzz = true
skia_use_gl = !is_fuchsia
skia_use_icu = !is_fuchsia
skia_use_libheif = is_skia_dev_build
skia_use_libjpeg_turbo_decode = true
skia_use_libjpeg_turbo_encode = true
skia_use_libpng_decode = true
skia_use_libpng_encode = true
skia_use_libwebp_decode = true
skia_use_libwebp_encode = true
skia_use_lua = is_skia_dev_build && !is_ios
skia_use_metal = false
skia_use_ndk_images = is_android && defined(ndk_api) && ndk_api >= 30
skia_use_piex = !is_win
skia_use_sfml = false
skia_use_webgl = false
skia_use_wuffs = false
skia_use_x11 = is_linux
skia_use_xps = true
skia_enable_graphite = false
skia_use_zlib = true
skia_vtune_path = ""
if (is_ios) {
skia_ios_identity = ".*Google.*"
skia_ios_profile = "Google Development"
}
if (is_mac) {
skia_gl_standard = "gl"
} else if (is_ios) {
skia_gl_standard = "gles"
} else {
skia_gl_standard = ""
}
if (is_android) {
skia_use_vulkan = defined(ndk_api) && ndk_api >= 24
} else if (is_fuchsia) {
skia_use_vulkan = true
} else {
skia_use_vulkan = false
}
skia_build_fuzzers = is_clang && is_linux && target_cpu == "x64"
skia_use_libfuzzer_defaults = true
}
declare_args() {
skia_pdf_subset_harfbuzz = skia_use_harfbuzz
}
declare_args() {
skia_compile_sksl_tests = skia_compile_processors
skia_enable_fontmgr_android = skia_use_expat && skia_use_freetype
skia_enable_fontmgr_custom_directory = skia_use_freetype && !is_fuchsia
skia_enable_fontmgr_custom_embedded = skia_use_freetype && !is_fuchsia
skia_enable_fontmgr_custom_empty = skia_use_freetype
skia_enable_fontmgr_fontconfig = skia_use_freetype && skia_use_fontconfig
skia_enable_fontmgr_win_gdi = is_win && !skia_enable_winuwp
skia_enable_fontmgr_FontConfigInterface =
skia_use_freetype && skia_use_fontconfig
skia_enable_spirv_validation = is_skia_dev_build && is_debug && !skia_use_dawn
skia_use_dng_sdk =
!is_fuchsia && skia_use_libjpeg_turbo_decode && skia_use_zlib
skia_use_libgifcodec = !skia_use_wuffs
skia_use_sfntly = skia_use_icu
skia_enable_vulkan_debug_layers = skia_enable_gpu_debug_layers
skia_enable_direct3d_debug_layer = skia_enable_gpu_debug_layers
skia_enable_metal_debug_info = skia_enable_gpu_debug_layers
skia_use_vma = skia_use_vulkan
}
declare_args() {
# skia_fontmgr_factory should define SkFontMgr::Factory()
if (skia_enable_fontmgr_empty) {
skia_fontmgr_factory = ":fontmgr_empty_factory"
} else if (is_android && skia_enable_fontmgr_android) {
skia_fontmgr_factory = ":fontmgr_android_factory"
} else if (is_win && skia_enable_fontmgr_win) {
skia_fontmgr_factory = ":fontmgr_win_factory"
} else if ((is_mac || is_ios) && skia_use_fonthost_mac) {
skia_fontmgr_factory = ":fontmgr_mac_ct_factory"
} else if (skia_enable_fontmgr_fontconfig) {
skia_fontmgr_factory = ":fontmgr_fontconfig_factory"
} else if (skia_enable_fontmgr_custom_directory) {
skia_fontmgr_factory = ":fontmgr_custom_directory_factory"
} else if (skia_enable_fontmgr_custom_embedded) {
skia_fontmgr_factory = ":fontmgr_custom_embedded_factory"
} else if (skia_enable_fontmgr_custom_empty) {
skia_fontmgr_factory = ":fontmgr_custom_empty_factory"
} else {
#"src/ports/SkFontMgr_FontConfigInterface_factory.cpp" #WontFix
#"src/ports/SkFontMgr_win_gdi_factory.cpp" # WontFix
skia_fontmgr_factory = ":fontmgr_empty_factory"
}
}
# Our tools require static linking (they use non-exported symbols), and the GPU backend.
skia_enable_tools = skia_enable_tools && !is_component_build && skia_enable_gpu
# The GPU build requires SkSL
skia_enable_sksl = skia_enable_sksl || skia_enable_gpu
# Skia's targets may be built inside other gn build systems.
# Skia builds other project's build targets inside its build.
# This is easier if the built-in target types remain generic.
# Place Skia target specific configs in skia_target_default_configs.
# These will be applied by the 'skia_*' templates.
# In the Skia build these configs apply many warnings as errors.
# Other projects may optionally set these configs as they see fit.
template("skia_target") {
target(invoker._skia_target_type, target_name) {
# set_defaults(invoker._skia_target_type) might not exist or set configs
if (!defined(configs)) {
configs = []
}
# Explicit configs instead of set_defaults("skia_target")
# Allows template("skia_*") below to avoid the configs dance.
if (defined(skia_target_default_configs)) {
configs += skia_target_default_configs
}
# "*" clobbers the current scope; append to existing configs
forward_variables_from(invoker, "*", [ "configs" ])
if (defined(invoker.configs)) {
configs += invoker.configs
}
}
}
template("skia_executable") {
skia_target(target_name) {
assert(!defined(configs), "No set_defaults(skia_target)")
_skia_target_type = "executable"
forward_variables_from(invoker, "*")
}
}
template("skia_source_set") {
skia_target(target_name) {
assert(!defined(configs), "No set_defaults(skia_target)")
_skia_target_type = "source_set"
forward_variables_from(invoker, "*")
}
}
template("skia_static_library") {
skia_target(target_name) {
assert(!defined(configs), "No set_defaults(skia_target)")
_skia_target_type = "static_library"
forward_variables_from(invoker, "*")
}
}
template("skia_shared_library") {
skia_target(target_name) {
assert(!defined(configs), "No set_defaults(skia_target)")
_skia_target_type = "shared_library"
forward_variables_from(invoker, "*")
}
}
template("skia_component") {
skia_target(target_name) {
assert(!defined(configs), "No set_defaults(skia_target)")
_skia_target_type = "component"
forward_variables_from(invoker, "*")
}
}