# Copyright 2019 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. import("//build_overrides/pigweed.gni") import("$dir_pw_build/target_types.gni") import("$dir_pw_docgen/docs.gni") import("$dir_pw_unit_test/test.gni") config("public_include_path") { include_dirs = [ "public" ] } group("pw_containers") { public_deps = [ ":algorithm", ":flat_map", ":intrusive_list", ":vector", ] } pw_source_set("algorithm") { public_configs = [ ":public_include_path" ] public = [ "public/pw_containers/algorithm.h", "public/pw_containers/internal/algorithm_internal.h", ] } pw_source_set("filtered_view") { public_configs = [ ":public_include_path" ] public = [ "public/pw_containers/filtered_view.h" ] } pw_source_set("flat_map") { public_configs = [ ":public_include_path" ] public = [ "public/pw_containers/flat_map.h" ] } pw_source_set("iterator") { public_configs = [ ":public_include_path" ] public_deps = [ dir_pw_polyfill ] public = [ "public/pw_containers/iterator.h" ] } pw_source_set("to_array") { public_configs = [ ":public_include_path" ] public = [ "public/pw_containers/to_array.h" ] } pw_source_set("vector") { public_configs = [ ":public_include_path" ] public_deps = [ dir_pw_assert ] public = [ "public/pw_containers/vector.h" ] } pw_source_set("wrapped_iterator") { public_configs = [ ":public_include_path" ] public = [ "public/pw_containers/wrapped_iterator.h" ] } pw_source_set("intrusive_list") { public_configs = [ ":public_include_path" ] public = [ "public/pw_containers/internal/intrusive_list_impl.h", "public/pw_containers/intrusive_list.h", ] sources = [ "intrusive_list.cc" ] deps = [ dir_pw_assert ] } pw_test_group("tests") { tests = [ ":algorithm_test", ":filtered_view_test", ":flat_map_test", ":intrusive_list_test", ":to_array_test", ":vector_test", ":wrapped_iterator_test", ] } pw_test("algorithm_test") { sources = [ "algorithm_test.cc" ] deps = [ ":algorithm", ":intrusive_list", ":vector", dir_pw_span, ] } pw_test("filtered_view_test") { sources = [ "filtered_view_test.cc" ] deps = [ ":filtered_view", ":intrusive_list", dir_pw_span, ] } pw_test("flat_map_test") { sources = [ "flat_map_test.cc" ] deps = [ ":flat_map" ] } pw_test("to_array_test") { sources = [ "to_array_test.cc" ] deps = [ ":to_array" ] } pw_test("vector_test") { sources = [ "vector_test.cc" ] deps = [ ":vector" ] } pw_test("wrapped_iterator_test") { sources = [ "wrapped_iterator_test.cc" ] deps = [ ":wrapped_iterator" ] } pw_test("intrusive_list_test") { sources = [ "intrusive_list_test.cc" ] deps = [ ":intrusive_list", "$dir_pw_preprocessor", ] negative_compilation_tests = true } pw_doc_group("docs") { sources = [ "docs.rst" ] }