| # 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 |
| } |
| |
| package("scenic_tests") { |
| testonly = true |
| |
| deps = [ |
| "input/tests", |
| "input_reader/tests", |
| "presentation_mode/tests", |
| "//garnet/lib/ui/gfx/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 = "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 = "scenic_unittests" |
| environments = basic_envs |
| }, |
| ] |
| |
| meta = [ |
| { |
| path = rebase_path("meta/scenic_tests.cmx") |
| dest = "scenic_tests.cmx" |
| }, |
| { |
| path = rebase_path("meta/gfx_apptests.cmx") |
| dest = "gfx_apptests.cmx" |
| }, |
| { |
| path = rebase_path("meta/gfx_pixeltests.cmx") |
| dest = "gfx_pixeltests.cmx" |
| }, |
| { |
| path = rebase_path("meta/gfx_viewstate_apptests.cmx") |
| dest = "gfx_viewstate_apptests.cmx" |
| }, |
| { |
| path = rebase_path("meta/gfx_unittests.cmx") |
| dest = "gfx_unittests.cmx" |
| }, |
| { |
| path = rebase_path("meta/input_unittests.cmx") |
| dest = "input_unittests.cmx" |
| }, |
| { |
| path = rebase_path("meta/scenic_unittests.cmx") |
| dest = "scenic_unittests.cmx" |
| }, |
| ] |
| |
| 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 = "//garnet/public/lib/escher/shaders/model_renderer/default_position.vert" |
| dest = "shaders/model_renderer/default_position.vert" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/model_renderer/main.frag" |
| dest = "shaders/model_renderer/main.frag" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/model_renderer/main.vert" |
| dest = "shaders/model_renderer/main.vert" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/model_renderer/shadow_map_generation.frag" |
| dest = "shaders/model_renderer/shadow_map_generation.frag" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/model_renderer/shadow_map_lighting.frag" |
| dest = "shaders/model_renderer/shadow_map_lighting.frag" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/model_renderer/wobble_position.vert" |
| dest = "shaders/model_renderer/wobble_position.vert" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/paper/common/use.glsl" |
| dest = "shaders/paper/common/use.glsl" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/paper/frag/main_ambient_light.frag" |
| dest = "shaders/paper/frag/main_ambient_light.frag" |
| }, |
| { |
| path = |
| "//garnet/public/lib/escher/shaders/paper/frag/main_point_light.frag" |
| dest = "shaders/paper/frag/main_point_light.frag" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/paper/vert/compute_model_space_position.vert" |
| dest = "shaders/paper/vert/compute_model_space_position.vert" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/paper/vert/compute_world_space_position.vert" |
| dest = "shaders/paper/vert/compute_world_space_position.vert" |
| }, |
| { |
| path = "//garnet/public/lib/escher/shaders/paper/vert/main_shadow_volume_extrude.vert" |
| dest = "shaders/paper/vert/main_shadow_volume_extrude.vert" |
| }, |
| { |
| path = |
| "//garnet/public/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 |
| }, |
| ] |
| } |
| } |