blob: f465317f7f13a924cd132c904226048a5c4a527a [file] [log] [blame]
# Copyright 2016 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/package.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")
import("//third_party/vulkan_loader_and_validation_layers/layers/layers.gni")
group("ui") {
testonly = true
deps = [
":ime_service",
":ime_service_tests",
":root_presenter",
":scenic",
":scenic_tests",
":set_renderer_params",
"benchmarks",
"gltf_export",
"ime",
"input",
"input_reader",
"present_view",
"presentation_mode",
"print_input",
"root_presenter",
"scenic",
"screencap",
"set_renderer_params_HACK",
"sketchy",
"snapshot",
"tests",
"text",
]
}
declare_args() {
# Include the vulkan validation layers in scenic.
scenic_enable_vulkan_validation = is_debug
}
test_package("scenic_tests") {
deps = [
"input/tests",
"input_reader/tests",
"presentation_mode/tests",
"root_presenter/tests",
"//garnet/lib/ui/gfx/tests",
"//garnet/lib/ui/gfx/util/tests",
"//garnet/lib/ui/input/tests",
"//garnet/lib/ui/scenic/tests",
"//garnet/public/lib/ui/geometry/cpp:tests",
]
tests = [
{
name = "gfx_apptests"
environments = basic_envs
},
{
name = "gfx_pixeltests"
environments = [ nuc_env ]
},
{
name = "gfx_viewstate_apptests"
environments = [ nuc_env ]
},
{
name = "gfx_unittests"
environments = basic_envs
},
{
name = "gfx_util_unittests"
environments = basic_envs
},
{
name = "geometry_util_unittests"
environments = basic_envs
},
{
name = "input_apptests"
environments = basic_envs
},
{
name = "input_reader_unittests"
environments = basic_envs
},
{
name = "input_unittests"
environments = basic_envs
},
{
name = "input_tool_unittests"
environments = basic_envs
},
{
name = "presentation_mode_unittests"
environments = basic_envs
},
{
name = "root_presenter_unittests"
environments = basic_envs
},
{
name = "scenic_unittests"
environments = basic_envs
},
]
public_deps = vulkan_validation_layers.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules
resources = vulkan_validation_layers.resources
}
package("root_presenter") {
deps = [
"root_presenter",
]
binaries = [
{
name = "root_presenter"
},
]
resources = [
{
path = rebase_path("root_presenter/resources/cursor32.png")
dest = "cursor32.png"
},
]
meta = [
{
path = rebase_path("root_presenter/meta/root_presenter.cmx")
dest = "root_presenter.cmx"
},
]
}
package("ime_service") {
deps = [
"ime",
]
binaries = [
{
name = "ime_service"
},
]
meta = [
{
path = rebase_path("ime/meta/ime_service.cmx")
dest = "ime_service.cmx"
},
]
}
test_package("ime_service_tests") {
deps = [
"ime",
"//garnet/bin/ui/text/test_suite:test_suite",
]
tests = [
{
name = "ime_service_bin_test"
dest = "ime_service_unittests"
environments = basic_envs
},
]
}
package("scenic") {
deps = [
"scenic",
]
binaries = [
{
name = "scenic"
},
]
meta = [
{
path = rebase_path("scenic/meta/scenic.cmx")
dest = "scenic.cmx"
},
]
resources = [
{
path = "//src/ui/lib/escher/shaders/model_renderer/default_position.vert"
dest = "shaders/model_renderer/default_position.vert"
},
{
path = "//src/ui/lib/escher/shaders/model_renderer/main.frag"
dest = "shaders/model_renderer/main.frag"
},
{
path = "//src/ui/lib/escher/shaders/model_renderer/main.vert"
dest = "shaders/model_renderer/main.vert"
},
{
path = "//src/ui/lib/escher/shaders/model_renderer/shadow_map_generation.frag"
dest = "shaders/model_renderer/shadow_map_generation.frag"
},
{
path =
"//src/ui/lib/escher/shaders/model_renderer/shadow_map_lighting.frag"
dest = "shaders/model_renderer/shadow_map_lighting.frag"
},
{
path = "//src/ui/lib/escher/shaders/model_renderer/wobble_position.vert"
dest = "shaders/model_renderer/wobble_position.vert"
},
{
path = "//src/ui/lib/escher/shaders/paper/common/use.glsl"
dest = "shaders/paper/common/use.glsl"
},
{
path = "//src/ui/lib/escher/shaders/paper/frag/main_ambient_light.frag"
dest = "shaders/paper/frag/main_ambient_light.frag"
},
{
path = "//src/ui/lib/escher/shaders/paper/frag/main_point_light.frag"
dest = "shaders/paper/frag/main_point_light.frag"
},
{
path = "//src/ui/lib/escher/shaders/paper/vert/compute_model_space_position.vert"
dest = "shaders/paper/vert/compute_model_space_position.vert"
},
{
path = "//src/ui/lib/escher/shaders/paper/vert/compute_world_space_position.vert"
dest = "shaders/paper/vert/compute_world_space_position.vert"
},
{
path = "//src/ui/lib/escher/shaders/paper/vert/main_shadow_volume_extrude.vert"
dest = "shaders/paper/vert/main_shadow_volume_extrude.vert"
},
{
path = "//src/ui/lib/escher/shaders/paper/vert/vertex_attributes.vert"
dest = "shaders/paper/vert/vertex_attributes.vert"
},
]
# If configured, include the vulkan validation layers.
if (scenic_enable_vulkan_validation) {
loadable_modules = vulkan_validation_layers.loadable_modules
public_deps = vulkan_validation_layers.public_deps
resources += vulkan_validation_layers.resources
}
}
# Component shell tools can be run as shell command or as components via a
# component URI. The following list contains the names of such components that
# follow the pattern:
# name/meta/name.cmx contains the component manifest
# name is the name of a subdirectory that builds the output binary `name`
component_shell_tools = [
"gltf_export",
"present_view",
"screencap",
"snapshot",
]
foreach(tool, component_shell_tools) {
package(tool) {
meta = [
{
path = rebase_path("$tool/meta/$tool.cmx")
dest = "$tool.cmx"
},
]
deps = [
tool,
]
binaries = [
{
name = tool
shell = true
},
]
}
}
package("set_renderer_params") {
deps = [
"set_renderer_params_HACK:set_renderer_params",
]
binaries = [
{
name = "set_renderer_params"
shell = true
},
]
meta = [
{
path =
rebase_path("set_renderer_params_HACK/meta/set_renderer_params.cmx")
dest = "set_renderer_params.cmx"
},
]
}
# Non-component tools contains the names of shell command tools that do not
# have any CMX.
non_component_tools = [
"input",
"print_input",
]
foreach(tool, non_component_tools) {
package(tool) {
deps = [
tool,
]
binaries = [
{
name = tool
shell = true
},
]
}
}