• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 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
15include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
16
17# Provides pw::span in "pw_span/span.h".
18pw_add_library(pw_span INTERFACE
19  HEADERS
20    public/pw_span/span.h
21    public/pw_span/internal/span_impl.h
22  PUBLIC_INCLUDES
23    public
24  PUBLIC_DEPS
25    pw_assert
26    pw_polyfill._standard_library
27  PRIVATE_DEPS
28    pw_span.private_config
29)
30
31pw_add_library(pw_span.cast INTERFACE
32  HEADERS
33    public/pw_span/cast.h
34  PUBLIC_INCLUDES
35    public
36  PUBLIC_DEPS
37    pw_bytes.alignment
38    pw_span
39  PRIVATE_DEPS
40    pw_span.private_config
41)
42
43pw_add_library(pw_span.private_config INTERFACE
44  HEADERS
45    public/pw_span/internal/config.h
46  PUBLIC_INCLUDES
47    public
48  PUBLIC_DEPS
49    pw_assert
50)
51
52pw_add_test(pw_span.pw_span_test
53  SOURCES
54    span_test.cc
55  PRIVATE_DEPS
56    pw_polyfill
57    pw_span
58  GROUPS
59    modules
60    pw_span
61)
62
63pw_add_test(pw_span.cast_test
64  SOURCES
65    cast_test.cc
66  PRIVATE_DEPS
67    pw_span
68    pw_span.cast
69  GROUPS
70    modules
71    pw_span
72)
73