blob: 3b082c33fc2167c51e332cd41d02c1d5c5dfbfb0 [file] [log] [blame]
Austin Engcc2516a2023-10-17 20:57:54 +00001# Copyright 2018 The Dawn & Tint Authors
Corentin Wallez21a23852018-07-31 18:50:03 +02002#
Austin Engcc2516a2023-10-17 20:57:54 +00003# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions are met:
Corentin Wallez21a23852018-07-31 18:50:03 +02005#
Austin Engcc2516a2023-10-17 20:57:54 +00006# 1. Redistributions of source code must retain the above copyright notice, this
7# list of conditions and the following disclaimer.
Corentin Wallez21a23852018-07-31 18:50:03 +02008#
Austin Engcc2516a2023-10-17 20:57:54 +00009# 2. Redistributions in binary form must reproduce the above copyright notice,
10# this list of conditions and the following disclaimer in the documentation
11# and/or other materials provided with the distribution.
12#
13# 3. Neither the name of the copyright holder nor the names of its
14# contributors may be used to endorse or promote products derived from
15# this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
21# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Corentin Wallez21a23852018-07-31 18:50:03 +020027
danakj4090b7d2023-10-24 17:49:01 +000028import("build/config/rust.gni")
Takuto Ikuta0e6dad02019-02-13 18:42:38 +000029import("scripts/dawn_overrides_with_defaults.gni")
Ben Clayton66630762023-08-18 08:29:51 +000030import("scripts/tint_overrides_with_defaults.gni")
Corentin Wallez48a19232018-12-08 10:35:53 +000031
Ben Claytond283e952023-10-10 15:30:56 +000032group("benchmarks") {
33 testonly = true
34 deps = [ "src/tint:benchmarks" ]
35}
36
Ben Claytonb7bd8d82023-09-28 14:10:51 +000037group("fuzzers") {
Corentin Wallezb31015b2020-04-10 08:20:10 +000038 testonly = true
39 deps = [
Ben Claytonc6ccd532022-02-04 18:48:05 +000040 "src/dawn/fuzzers",
Ben Claytond283e952023-10-10 15:30:56 +000041 "src/tint:fuzzers",
42 ]
43}
44
45group("libs") {
46 deps = [
47 "src/dawn/native:webgpu_dawn",
48 "src/tint:libs",
49 ]
50}
51
52group("tests") {
53 testonly = true
54 deps = [
55 "src/dawn/tests",
56 "src/tint:tests",
57 ]
58}
59
60group("cmds") {
61 deps = [
62 "src/dawn/samples",
63 "src/tint:cmds",
Ben Claytonb7bd8d82023-09-28 14:10:51 +000064 ]
Austin Eng9dcadd12024-04-23 14:47:43 +000065 if ((target_cpu == "x64" && (is_win || is_linux || is_mac)) ||
66 (target_cpu == "arm64" && is_win)) {
Antonio Maiorano2d123d02023-10-24 15:39:38 +000067 deps += [ "third_party/gn/dxc:dxc" ]
68 }
Ben Claytonb7bd8d82023-09-28 14:10:51 +000069}
70
71group("all") {
72 testonly = true
73 deps = [
Ben Claytond283e952023-10-10 15:30:56 +000074 ":benchmarks",
Ben Clayton49a564c2023-10-11 16:04:52 +000075 ":cmds",
Ben Claytonb7bd8d82023-09-28 14:10:51 +000076 ":fuzzers",
Ben Claytond283e952023-10-10 15:30:56 +000077 ":libs",
78 ":tests",
Corentin Wallezb31015b2020-04-10 08:20:10 +000079 ]
Corentin Wallezb31015b2020-04-10 08:20:10 +000080}
Nicolas Capensdd988bc2021-02-02 17:03:30 +000081
danakj4090b7d2023-10-24 17:49:01 +000082if (enable_rust) {
83 group("rust_build_tests") {
84 testonly = true
85 deps = [ "//build/rust/tests" ]
86 }
87}
88
Nicolas Capensdd988bc2021-02-02 17:03:30 +000089# This target is built when no specific target is specified on the command line.
90group("default") {
91 testonly = true
92 deps = [ ":all" ]
93}