xref: /aosp_15_r20/external/pigweed/pw_analog/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2021 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
15import("//build_overrides/pigweed.gni")
16
17import("$dir_pw_build/target_types.gni")
18import("$dir_pw_chrono/backend.gni")
19import("$dir_pw_docgen/docs.gni")
20import("$dir_pw_unit_test/test.gni")
21
22config("public_include_path") {
23  include_dirs = [ "public" ]
24}
25
26group("pw_analog") {
27  public_deps = [
28    ":analog_input",
29    ":microvolt_input",
30  ]
31}
32
33pw_source_set("analog_input") {
34  public_configs = [ ":public_include_path" ]
35  public_deps = [
36    "$dir_pw_chrono:system_clock",
37    "$dir_pw_result",
38  ]
39  public = [ "public/pw_analog/analog_input.h" ]
40}
41
42pw_source_set("microvolt_input") {
43  public_configs = [ ":public_include_path" ]
44  public_deps = [
45    ":analog_input",
46    "$dir_pw_chrono:system_clock",
47    "$dir_pw_result",
48    "$dir_pw_status",
49  ]
50  public = [ "public/pw_analog/microvolt_input.h" ]
51}
52
53pw_source_set("analog_input_gmock") {
54  public_configs = [ ":public_include_path" ]
55  public_deps = [
56    ":analog_input",
57    "$dir_pw_third_party/googletest",
58  ]
59  public = [ "public/pw_analog/analog_input_gmock.h" ]
60}
61
62pw_source_set("microvolt_input_gmock") {
63  public_configs = [ ":public_include_path" ]
64  public_deps = [
65    ":microvolt_input",
66    "$dir_pw_third_party/googletest",
67  ]
68  public = [ "public/pw_analog/microvolt_input_gmock.h" ]
69}
70
71pw_test_group("tests") {
72  tests = [
73    ":analog_input_test",
74    ":microvolt_input_test",
75  ]
76}
77
78pw_test("analog_input_test") {
79  enable_if = pw_chrono_SYSTEM_CLOCK_BACKEND != ""
80  sources = [ "analog_input_test.cc" ]
81  deps = [ ":pw_analog" ]
82}
83
84pw_test("microvolt_input_test") {
85  enable_if = pw_chrono_SYSTEM_CLOCK_BACKEND != ""
86  sources = [ "microvolt_input_test.cc" ]
87  deps = [
88    ":pw_analog",
89    "$dir_pw_chrono:system_clock",
90  ]
91}
92
93pw_doc_group("docs") {
94  sources = [
95    "docs.rst",
96    "public/pw_analog/analog_input_gmock.h",
97    "public/pw_analog/microvolt_input.h",
98    "public/pw_analog/microvolt_input_gmock.h",
99  ]
100}
101