blob: 13db60966b5974d51e8caa9349cee368b30bad0f [file]
load("//bazel:skia_rules.bzl", "skia_cc_binary")
package(
default_applicable_licenses = ["//:license"],
)
licenses(["notice"])
skia_cc_binary(
name = "dm",
testonly = True,
srcs = [
"DM.cpp",
"DMGpuTestProcs.cpp",
"DMJsonWriter.cpp",
"DMJsonWriter.h",
"DMSrcSink.cpp",
"DMSrcSink.h",
# TODO(b/480952153): Ganesh tests crash at runtime due to missing static initializer registrations under Bazel.
# "//tests:ganesh_gl_tests_sources",
"//tests:ganesh_test_utils",
"//tests:ganesh_tests_sources",
# "//tests:graphite_dawn_tests_sources",
"//tests:graphite_precompile_tests_sources",
# TODO(b/480952153): Fix the sparse_strips target so it can be built and used here.
# "//tests:graphite_sparse_strips_test_sources",
"//tests:graphite_tests_sources",
# TODO(b/480952153): SkJpegGainmapEncoder.h is not being built
# "//tests:jpeg_gainmap_tests_sources",
"//tests:pathops_tests_sources",
"//tests:tests_hdrs",
"//tests:tests_sources",
"//tools/flags:common_flags_config",
"//src/utils:canvas_state_utils",
] + select({
"@platforms//os:linux": [
# "//tests:graphite_vulkan_tests_sources",
],
"@platforms//os:windows": [
# "//tests:graphite_vulkan_tests_sources",
],
"@platforms//os:macos": [
"//tests:ganesh_metal_tests_sources",
"//tests:graphite_metal_tests_sources",
],
"//conditions:default": [],
}),
copts = select({
# Objective-C++ flags are required here to compile the Metal tests (.cc files), since we
# build them as part of the dm cc_binary and not as a separate obj-c library to appease the
# linker.
# See ganesh_metal_tests_sources and graphite_metal_tests_sources for more information.
"@platforms//os:macos": [
"-x",
"objective-c++",
"-fobjc-arc",
],
"//conditions:default": [],
}),
data = [
"//resources",
],
deps = [
"//:bmp_decode_codec",
"//:core",
"//:gif_decode_codec",
"//:ico_decode_codec",
"//:jpeg_decode_codec",
"//:jpeg_encode_codec",
"//:jpegxl_decode_codec",
"//:pdf_writer",
"//:png_decode_codec",
"//:png_encode_codec",
"//:skshaper_core",
"//:svg_renderer",
"//:svg_writer",
"//:wbmp_decode_codec",
"//:webp_decode_codec",
"//:webp_encode_codec",
"//gm",
"//modules/skottie",
"//modules/skottie/utils:skottie_utils",
"//src/android:animated_image",
"//src/codec:android_codec",
"//src/gpu/graphite:graphite_TEST_UTIL",
"//src/gpu/graphite/precompile:precompile_TEST_UTIL",
"//src/lazy",
"//src/ports:discardable_memory_none",
"//src/ports:imagegenerator",
"//src/sksl/codegen:metal",
"//src/sksl/codegen:spirv",
"//src/sksl/codegen:wgsl",
"//src/sksl/tracing:player",
"//src/utils:char_to_glyphcache",
"//src/utils:multi_picture_document",
"//tests",
"//tools:autorelease_pool",
"//tools:codec_utils",
"//tools:gpu_tool_utils",
"//tools:hash_and_encode",
"//tools:procs_utils",
"//tools:runtime_blend_utils",
"//tools:stats",
"//tools:test_font_data_provider",
"//tools:url_data_manager",
"//tools/debugger",
"//tools/flags:common_flags",
"//tools/flags:ganesh_flags",
"//tools/flags:graphite_flags",
"//tools/fonts:font_tool_utils",
"//tools/ganesh:ddl_utils",
"//tools/ganesh:ganesh_gl_utils",
"//tools/gpu:shared_utils",
"//tools/graphite:graphite_utils",
"//tools/graphite:precompile_utils",
"//tools/sksltrace:sksltraceutils",
"//tools/trace",
] + select({
"@platforms//os:macos": [
"//:fontmgr_coretext",
"//:typeface_coretext",
],
"@platforms//os:windows": [
"//:fontmgr_win_dw",
],
"//conditions:default": [
"//:fontmgr_directory_freetype",
"//:fontmgr_empty_fontations",
],
}),
)