# Copyright 2023 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) # Add library linkage for Zephyr pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_BASE64 pw_base64) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_BYTES pw_bytes) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_CHECKSUM pw_checksum) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_CONTAINERS pw_containers) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_DIGITAL_IO pw_digital_io) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_FUNCTION pw_function) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_HDLC_RPC pw_hdlc.default_addresses pw_hdlc.encoder pw_hdlc.decoder ) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_MULTISINK pw_multisink) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_MULTISINK_UTIL pw_multisink.util) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_PREPROCESSOR pw_preprocessor) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_POLYFILL pw_polyfill) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RESULT pw_result) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_ROUTER_EGRESS pw_router.egress) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_ROUTER_EGRESS_FUNCTION pw_router.egress_function) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_ROUTER_PACKET_PARSER pw_router.packet_parser) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_ROUTER_STATIC_ROUTER pw_router.static_router) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_CLIENT pw_rpc.client) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_CLIENT_SERVER pw_rpc.client_server) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_COMMON pw_rpc.common) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_SERVER pw_rpc.server) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_NANOPB_CLIENT pw_rpc.nanopb.client_api) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_NANOPB_COMMON pw_rpc.nanopb.common) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_NANOPB_ECHO_SERVICE pw_rpc.nanopb.echo_service) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_NANOPB_METHOD pw_rpc.nanopb.method) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_RPC_NANOPB_METHOD_UNION pw_rpc.nanopb.method_union) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_SPAN pw_span) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_STATUS pw_status) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_STREAM pw_stream) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_STRING pw_string) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_SYS_IO pw_sys_io) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_THREAD_SLEEP pw_thread.sleep) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_TOKENIZER pw_tokenizer) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_TOKENIZER_BASE64 pw_tokenizer.base64) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_DETOKENIZER pw_tokenizer.decoder) pw_zephyrize_libraries_ifdef(CONFIG_PIGWEED_VARINT pw_varint) # Set Pigweed configs from Kconfig pw_set_config_from_zephyr(CONFIG_PIGWEED_MULTISINK_LOCK_INTERRUPT_SAFE PW_MULTISINK_CONFIG_LOCK_INTERRUPT_SAFE) # Add test libraries if(CONFIG_TEST) target_link_libraries_ifdef(CONFIG_PIGWEED_BASE64 app PRIVATE pw_base64.base64_test.lib) endif(CONFIG_TEST)