skia2/example/BUILD.bazel

107 lines
2.8 KiB
Python
Raw Normal View History

2022-05-27 18:47:29 +00:00
load("//bazel:macros.bzl", "exports_files_legacy")
load("//bazel:cc_binary_with_flags.bzl", "cc_binary_with_flags")
licenses(["notice"])
exports_files_legacy()
cc_binary_with_flags(
name = "hello_world_gl",
testonly = True,
srcs = [
"HelloWorld.cpp",
"HelloWorld.h",
],
# These flags are defined in //bazel/common_config_settings/BUILD.bazel
set_flags = {
# Use the GL backend with the normal GL standard (as opposed to WebGL or GLES)
"gpu_backend": [
"gl_backend",
],
"with_gl_standard": [
"gl_standard",
],
# Load fonts from the standard system directory (e.g. "/usr/share/fonts/")
# as defined in //src/ports/SkFontMgr_custom_directory_factory.cpp
"fontmgr_factory": [
"custom_directory_fontmgr_factory",
],
},
deps = [
[bazel] Add "skia_internal" target that exposes private API for tests/tools. Organization v3.5, if we are keeping track :) This splits the "srcs" filegroup into "srcs" and "private_hdrs", and renames "hdrs" to "public_hdrs". To assist with the split, I created the macro split_srcs_and_hdrs. Rather than keep two separate lists of header and source files, I figured it would be easiest, at least for the common case, to keep one list of files and then have a for loop split them apart. I've tried to be consistent with having the list of files be named with a _FILES suffix - maybe we can use this as a marker to generate .gni files in the future? Suggested review order: - //bazel/macros.bzl. Note this needs a corresponding G3 change (http://cl/452279799) as well. The exports_files_legacy change is the better approach to something I manually handled yesterday when fixing the G3 roll. - //BUILD.bazel to see the new target skia_internal and the previous skia_core renamed to skia_public. - //src/core/BUILD.bazel to see a typical usage of split_srcs_and_hdrs. - //include/... to see the change to public_hdrs and private_hdrs - //src/... to see many more usages of split_srcs_and_hdrs - //tools/... to see changes to skia_internal where appropriate. - Everything else. Note that //modules/... might also need to be built with skia_internal instead of skia_public, but we can fix that up later, if necessary. Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-01 18:45:46 +00:00
"//:skia_public",
] + select({
"@platforms//os:macos": ["//tools/sk_app:sk_app_objc"],
"@platforms//os:linux": ["//tools/sk_app:sk_app"],
"//conditions:default": [],
}),
2022-05-27 18:47:29 +00:00
)
cc_binary_with_flags(
name = "hello_world_vulkan",
testonly = True,
srcs = [
"HelloWorld.cpp",
"HelloWorld.h",
],
# These flags are defined in //bazel/common_config_settings/BUILD.bazel
set_flags = {
"gpu_backend": [
"vulkan_backend",
],
# Load fonts from the standard system directory (e.g. "/usr/share/fonts/")
# as defined in //src/ports/SkFontMgr_custom_directory_factory.cpp
"fontmgr_factory": [
"custom_directory_fontmgr_factory",
],
},
deps = [
[bazel] Add "skia_internal" target that exposes private API for tests/tools. Organization v3.5, if we are keeping track :) This splits the "srcs" filegroup into "srcs" and "private_hdrs", and renames "hdrs" to "public_hdrs". To assist with the split, I created the macro split_srcs_and_hdrs. Rather than keep two separate lists of header and source files, I figured it would be easiest, at least for the common case, to keep one list of files and then have a for loop split them apart. I've tried to be consistent with having the list of files be named with a _FILES suffix - maybe we can use this as a marker to generate .gni files in the future? Suggested review order: - //bazel/macros.bzl. Note this needs a corresponding G3 change (http://cl/452279799) as well. The exports_files_legacy change is the better approach to something I manually handled yesterday when fixing the G3 roll. - //BUILD.bazel to see the new target skia_internal and the previous skia_core renamed to skia_public. - //src/core/BUILD.bazel to see a typical usage of split_srcs_and_hdrs. - //include/... to see the change to public_hdrs and private_hdrs - //src/... to see many more usages of split_srcs_and_hdrs - //tools/... to see changes to skia_internal where appropriate. - Everything else. Note that //modules/... might also need to be built with skia_internal instead of skia_public, but we can fix that up later, if necessary. Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-01 18:45:46 +00:00
"//:skia_public",
2022-05-27 18:47:29 +00:00
"//tools/sk_app",
],
)
cc_binary_with_flags(
name = "hello_world_dawn",
testonly = True,
srcs = [
"HelloWorld.cpp",
"HelloWorld.h",
],
# These flags are defined in //bazel/common_config_settings/BUILD.bazel
set_flags = {
"gpu_backend": [
"dawn_backend",
],
# Load fonts from the standard system directory (e.g. "/usr/share/fonts/")
# as defined in //src/ports/SkFontMgr_custom_directory_factory.cpp
"fontmgr_factory": [
"custom_directory_fontmgr_factory",
],
},
deps = [
[bazel] Add "skia_internal" target that exposes private API for tests/tools. Organization v3.5, if we are keeping track :) This splits the "srcs" filegroup into "srcs" and "private_hdrs", and renames "hdrs" to "public_hdrs". To assist with the split, I created the macro split_srcs_and_hdrs. Rather than keep two separate lists of header and source files, I figured it would be easiest, at least for the common case, to keep one list of files and then have a for loop split them apart. I've tried to be consistent with having the list of files be named with a _FILES suffix - maybe we can use this as a marker to generate .gni files in the future? Suggested review order: - //bazel/macros.bzl. Note this needs a corresponding G3 change (http://cl/452279799) as well. The exports_files_legacy change is the better approach to something I manually handled yesterday when fixing the G3 roll. - //BUILD.bazel to see the new target skia_internal and the previous skia_core renamed to skia_public. - //src/core/BUILD.bazel to see a typical usage of split_srcs_and_hdrs. - //include/... to see the change to public_hdrs and private_hdrs - //src/... to see many more usages of split_srcs_and_hdrs - //tools/... to see changes to skia_internal where appropriate. - Everything else. Note that //modules/... might also need to be built with skia_internal instead of skia_public, but we can fix that up later, if necessary. Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-01 18:45:46 +00:00
"//:skia_public",
2022-05-27 18:47:29 +00:00
"//tools/sk_app",
],
)
cc_binary_with_flags(
name = "vulkan_basic",
testonly = True,
srcs = [
"VulkanBasic.cpp",
],
# These flags are defined in //bazel/common_config_settings/BUILD.bazel
set_flags = {
"gpu_backend": [
"vulkan_backend",
],
},
deps = [
[bazel] Add "skia_internal" target that exposes private API for tests/tools. Organization v3.5, if we are keeping track :) This splits the "srcs" filegroup into "srcs" and "private_hdrs", and renames "hdrs" to "public_hdrs". To assist with the split, I created the macro split_srcs_and_hdrs. Rather than keep two separate lists of header and source files, I figured it would be easiest, at least for the common case, to keep one list of files and then have a for loop split them apart. I've tried to be consistent with having the list of files be named with a _FILES suffix - maybe we can use this as a marker to generate .gni files in the future? Suggested review order: - //bazel/macros.bzl. Note this needs a corresponding G3 change (http://cl/452279799) as well. The exports_files_legacy change is the better approach to something I manually handled yesterday when fixing the G3 roll. - //BUILD.bazel to see the new target skia_internal and the previous skia_core renamed to skia_public. - //src/core/BUILD.bazel to see a typical usage of split_srcs_and_hdrs. - //include/... to see the change to public_hdrs and private_hdrs - //src/... to see many more usages of split_srcs_and_hdrs - //tools/... to see changes to skia_internal where appropriate. - Everything else. Note that //modules/... might also need to be built with skia_internal instead of skia_public, but we can fix that up later, if necessary. Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-01 18:45:46 +00:00
"//:skia_public",
"//include/third_party/vulkan",
2022-05-27 18:47:29 +00:00
# This DEPS is for the utility in the demo for creating a vulkan context.
# Outside clients would not need it.
"//tools/gpu/vk:testutils",
],
)