blob: 8dc4127ab06726ee6e37ec491bf4a7e77a08ee14 [file] [log] [blame]
Alexei Frolov1a82c142019-10-31 17:37:12 -07001# Copyright 2019 The Pigweed Authors
2#
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",
Alexei Frolovc10c8122019-11-01 16:31:19 -070055 "$dir_pw_preprocessor",
Alexei Frolovbbf164c2019-12-16 12:51:59 -080056 "$dir_pw_protobuf",
Wyatt Hepler77105652019-11-06 17:50:03 -080057 "$dir_pw_span",
Alexei Frolov1a82c142019-10-31 17:37:12 -070058 "$dir_pw_status",
Wyatt Hepler48db4d62019-11-11 10:32:45 -080059 "$dir_pw_string",
Wyatt Hepler80c6ee52020-01-03 09:54:58 -080060 "$dir_pw_tokenizer",
Alexei Frolovc10c8122019-11-01 16:31:19 -070061 "$dir_pw_unit_test",
Alexei Frolov82d3cb32019-11-27 14:38:39 -080062 "$dir_pw_varint",
Alexei Frolov1a82c142019-10-31 17:37:12 -070063 ]
64}
Alexei Frolov925fb8f2019-11-05 16:32:30 -080065
66# Targets for all module unit test groups.
Wyatt Hepleredf6f292019-11-25 18:52:21 -080067pw_test_group("pw_module_tests") {
68 group_deps = [
Wyatt Heplerb8b01e32020-01-08 18:33:40 -080069 "$dir_pw_base64:tests",
Alexei Frolova454c682019-11-19 10:55:07 -080070 "$dir_pw_preprocessor:tests",
Alexei Frolovbbf164c2019-12-16 12:51:59 -080071 "$dir_pw_protobuf:tests",
Alexei Frolova454c682019-11-19 10:55:07 -080072 "$dir_pw_span:tests",
73 "$dir_pw_status:tests",
74 "$dir_pw_string:tests",
Wyatt Hepler80c6ee52020-01-03 09:54:58 -080075 "$dir_pw_tokenizer:tests",
Wyatt Heplerb3fca3a2020-01-03 12:14:00 -080076 "$dir_pw_unit_test:tests",
Alexei Frolov82d3cb32019-11-27 14:38:39 -080077 "$dir_pw_varint:tests",
Alexei Frolov925fb8f2019-11-05 16:32:30 -080078 ]
Armando Montanez5104cd62019-12-10 14:36:43 -080079
80 # TODO(pwbug/17): Re-think when Pigweed config system is added.
81 if (dir_pw_cpu_exception_backend == dir_pw_cpu_exception_armv7m) {
82 group_deps += [ "$dir_pw_cpu_exception_armv7m:tests" ]
83 }
Alexei Frolov925fb8f2019-11-05 16:32:30 -080084}