diff options
Diffstat (limited to 'pw_hdlc/CMakeLists.txt')
-rw-r--r-- | pw_hdlc/CMakeLists.txt | 149 |
1 files changed, 141 insertions, 8 deletions
diff --git a/pw_hdlc/CMakeLists.txt b/pw_hdlc/CMakeLists.txt index 97626c2ef..c34a3b97c 100644 --- a/pw_hdlc/CMakeLists.txt +++ b/pw_hdlc/CMakeLists.txt @@ -14,23 +14,156 @@ include($ENV{PW_ROOT}/pw_build/pigweed.cmake) -pw_auto_add_simple_module(pw_hdlc +add_subdirectory(rpc_example) + +pw_add_library(pw_hdlc INTERFACE PUBLIC_DEPS - pw_assert + pw_hdlc.decoder + pw_hdlc.encoded_size + pw_hdlc.encoder +) + +pw_add_library(pw_hdlc.common INTERFACE + HEADERS + public/pw_hdlc/internal/protocol.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_varint +) + +pw_add_library(pw_hdlc.encoded_size INTERFACE + HEADERS + public/pw_hdlc/encoded_size.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_hdlc.common + pw_bytes + pw_span + pw_varint +) + +pw_add_library(pw_hdlc.decoder STATIC + HEADERS + public/pw_hdlc/decoder.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_hdlc.common pw_bytes pw_checksum pw_result - pw_router.packet_parser - pw_rpc.common + pw_span + pw_status + PRIVATE_DEPS + pw_log + SOURCES + decoder.cc +) + +pw_add_library(pw_hdlc.encoder STATIC + HEADERS + public/pw_hdlc/encoder.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_hdlc.common + pw_bytes + pw_checksum + pw_span pw_status pw_stream + PRIVATE_DEPS + pw_hdlc.encoded_size + SOURCES + encoder.cc + public/pw_hdlc/internal/encoder.h +) + +pw_add_library(pw_hdlc.rpc_channel_output INTERFACE + HEADERS + public/pw_hdlc/rpc_channel.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_hdlc + pw_rpc.server + pw_span +) + +pw_add_library(pw_hdlc.pw_rpc STATIC + HEADERS + public/pw_hdlc/rpc_packets.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_hdlc + pw_rpc.server pw_sys_io + SOURCES + rpc_packets.cc +) + +pw_add_library(pw_hdlc.packet_parser STATIC + HEADERS + public/pw_hdlc/wire_packet_parser.h + PUBLIC_INCLUDES + public + PUBLIC_DEPS + pw_hdlc + pw_router.packet_parser + PRIVATE_DEPS + pw_bytes + pw_checksum + SOURCES + wire_packet_parser.cc +) + +pw_add_library(pw_hdlc.hdlc_sys_io_system_server STATIC PRIVATE_DEPS + pw_hdlc.pw_rpc + pw_hdlc.rpc_channel_output + pw_rpc.system_server.facade + pw_stream.sys_io_stream pw_log + SOURCES + hdlc_sys_io_system_server.cc ) -add_subdirectory(rpc_example) - -if(Zephyr_FOUND AND CONFIG_PIGWEED_HDLC) - zephyr_link_libraries(pw_hdlc) +if(Zephyr_FOUND AND CONFIG_PIGWEED_HDLC_RPC) + zephyr_link_libraries(pw_hdlc.pw_rpc) endif() + +pw_add_test(pw_hdlc.decoder_test + SOURCES + decoder_test.cc + PRIVATE_DEPS + pw_bytes + pw_hdlc + GROUPS + modules + pw_hdlc +) + +pw_add_test(pw_hdlc.rpc_channel_test + SOURCES + rpc_channel_test.cc + PRIVATE_DEPS + pw_hdlc + pw_hdlc.rpc_channel_output + GROUPS + modules + pw_hdlc +) + +pw_add_test(pw_hdlc.wire_packet_parser_test + SOURCES + wire_packet_parser_test.cc + PRIVATE_DEPS + pw_bytes + pw_hdlc.packet_parser + GROUPS + modules + pw_hdlc +) |