# Copyright 2020 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. include($ENV{PW_ROOT}/pw_build/pigweed.cmake) include($ENV{PW_ROOT}/pw_protobuf_compiler/proto.cmake) pw_add_module_library(pw_snapshot.uuid HEADERS public/pw_snapshot/uuid.h PUBLIC_INCLUDES public PUBLIC_DEPS pw_polyfill.span pw_polyfill.cstddef pw_result pw_bytes SOURCES uuid.cc PRIVATE_DEPS pw_protobuf pw_snapshot.metadata_proto.pwpb ) pw_add_module_library(pw_snapshot PUBLIC_DEPS pw_snapshot.metadata_proto pw_snapshot.snapshot_proto ) # This proto library only contains the snapshot_metadata.proto. Typically this # should be a dependency of snapshot-like protos. pw_proto_library(pw_snapshot.metadata_proto SOURCES pw_snapshot_protos/snapshot_metadata.proto STRIP_PREFIX pw_snapshot_protos PREFIX pw_snapshot_metadata_proto DEPS pw_tokenizer.proto ) # This proto provides the complete "Snapshot" proto, which depends on various # proto libraries throughout Pigweed. This is the proto library to use when # building/reading snapshots. pw_proto_library(pw_snapshot.snapshot_proto SOURCES pw_snapshot_protos/snapshot.proto DEPS pw_snapshot.metadata_proto pw_cpu_exception_cortex_m.cpu_state_protos pw_log.protos pw_thread.protos ) pw_add_test(pw_snapshot.cpp_compile_test SOURCES cpp_compile_test.cc DEPS pw_protobuf pw_snapshot.snapshot_proto.pwpb GROUPS modules pw_snapshot ) pw_add_test(pw_snapshot.uuid_test SOURCES uuid_test.cc DEPS pw_bytes pw_polyfill.cstddef pw_polyfill.span pw_protobuf pw_result pw_snapshot.metadata_proto.pwpb pw_snapshot.uuid pw_status GROUPS modules pw_snapshot )