blob: 951129b53b7307aa06fbb8633f303800b2cc984d [file] [log] [blame]
Wyatt Hepler0412a7d2020-01-28 16:27:32 -08001# Copyright 2020 The Pigweed Authors
Alexei Frolov1a82c142019-10-31 17:37:12 -07002#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
Wyatt Hepleredf6f292019-11-25 18:52:21 -080015import("$dir_pw_unit_test/test.gni")
16
Armando Montanez04c56ae2019-12-12 14:34:05 -080017# By default, Pigweed will build this target when invoking ninja.
18group("default") {
Alexei Frolov799be5d2020-01-09 15:54:39 -080019 deps = []
20 if (defined(pw_is_docs_target) && pw_is_docs_target) {
21 deps += [ "$dir_pigweed/docs" ]
Keir Mierlee2f5d0f2019-12-16 11:36:22 -080022 } else {
Alexei Frolov799be5d2020-01-09 15:54:39 -080023 if (pw_automatic_test_runner == "") {
24 # Without a test runner defined, build the tests but don't run them.
25 deps += [ ":pw_module_tests" ]
26 } else {
27 # With a test runner, depend on the run targets so they run with the build.
28 deps += [ ":pw_module_tests_run" ]
29 }
Keir Mierlee2f5d0f2019-12-16 11:36:22 -080030 }
Alexei Frolovca9cf602019-12-26 13:00:03 -080031 if (pw_build_host_tools) {
32 deps += [ ":host_tools" ]
33 }
34}
35
36group("host_tools") {
37 deps = [
38 "$dir_pw_target_runner/go:simple_client",
39 "$dir_pw_target_runner/go:simple_server",
40 ]
Armando Montanez04c56ae2019-12-12 14:34:05 -080041}
42
43group("pw_facades") {
44 deps = [
Armando Montanez5104cd62019-12-10 14:36:43 -080045 "$dir_pw_cpu_exception",
Armando Montanez04c56ae2019-12-12 14:34:05 -080046 "$dir_pw_dumb_io",
47 ]
48}
49
50# All Pigweed modules that can be built using gn. This is not built by default.
Alexei Frolov1a82c142019-10-31 17:37:12 -070051group("pw_modules") {
52 deps = [
Alexei Frolov0efdb112019-11-14 17:22:08 -080053 "$dir_pigweed/docs",
Wyatt Heplerb8b01e32020-01-08 18:33:40 -080054 "$dir_pw_base64",
Wyatt Hepler92ccb662020-01-21 18:28:41 -080055 "$dir_pw_checksum",
Wyatt Heplerc542a5d2020-01-15 15:43:10 -080056 "$dir_pw_polyfill",
Alexei Frolovc10c8122019-11-01 16:31:19 -070057 "$dir_pw_preprocessor",
Alexei Frolovbbf164c2019-12-16 12:51:59 -080058 "$dir_pw_protobuf",
Wyatt Hepler77105652019-11-06 17:50:03 -080059 "$dir_pw_span",
Alexei Frolov1a82c142019-10-31 17:37:12 -070060 "$dir_pw_status",
Wyatt Hepler48db4d62019-11-11 10:32:45 -080061 "$dir_pw_string",
Wyatt Hepler80c6ee52020-01-03 09:54:58 -080062 "$dir_pw_tokenizer",
Alexei Frolovc10c8122019-11-01 16:31:19 -070063 "$dir_pw_unit_test",
Alexei Frolov82d3cb32019-11-27 14:38:39 -080064 "$dir_pw_varint",
Alexei Frolov1a82c142019-10-31 17:37:12 -070065 ]
Alexei Frolov8c4b7522020-01-31 11:15:57 -080066
67 # TODO(frolv): Remove this when new KVS is ready.
68 if (host_os != "win") {
69 deps += [
70 "$dir_pw_kvs",
71 "$dir_pw_minimal_cpp_stdlib",
72 ]
73 }
Alexei Frolov1a82c142019-10-31 17:37:12 -070074}
Alexei Frolov925fb8f2019-11-05 16:32:30 -080075
76# Targets for all module unit test groups.
Wyatt Hepleredf6f292019-11-25 18:52:21 -080077pw_test_group("pw_module_tests") {
78 group_deps = [
Wyatt Heplerb8b01e32020-01-08 18:33:40 -080079 "$dir_pw_base64:tests",
Wyatt Hepler92ccb662020-01-21 18:28:41 -080080 "$dir_pw_checksum:tests",
Keir Mierleaf5e3582019-12-30 13:11:05 -080081 "$dir_pw_log:tests",
Wyatt Heplerc542a5d2020-01-15 15:43:10 -080082 "$dir_pw_polyfill:tests",
Alexei Frolova454c682019-11-19 10:55:07 -080083 "$dir_pw_preprocessor:tests",
Alexei Frolovbbf164c2019-12-16 12:51:59 -080084 "$dir_pw_protobuf:tests",
Alexei Frolova454c682019-11-19 10:55:07 -080085 "$dir_pw_span:tests",
86 "$dir_pw_status:tests",
87 "$dir_pw_string:tests",
Wyatt Hepler80c6ee52020-01-03 09:54:58 -080088 "$dir_pw_tokenizer:tests",
Wyatt Heplerb3fca3a2020-01-03 12:14:00 -080089 "$dir_pw_unit_test:tests",
Alexei Frolov82d3cb32019-11-27 14:38:39 -080090 "$dir_pw_varint:tests",
Alexei Frolov925fb8f2019-11-05 16:32:30 -080091 ]
Armando Montanez5104cd62019-12-10 14:36:43 -080092
93 # TODO(pwbug/17): Re-think when Pigweed config system is added.
94 if (dir_pw_cpu_exception_backend == dir_pw_cpu_exception_armv7m) {
95 group_deps += [ "$dir_pw_cpu_exception_armv7m:tests" ]
96 }
Alexei Frolov8c4b7522020-01-31 11:15:57 -080097
98 # TODO(frolv): Remove this when new KVS is ready.
99 if (host_os != "win") {
100 group_deps += [
101 "$dir_pw_kvs:tests",
102 "$dir_pw_minimal_cpp_stdlib:tests",
103 ]
104 }
Alexei Frolov925fb8f2019-11-05 16:32:30 -0800105}