84 lines
2.1 KiB
CMake
84 lines
2.1 KiB
CMake
# 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)
|
|
|
|
pw_add_module_library(pw_rpc.nanopb.method
|
|
SOURCES
|
|
method.cc
|
|
server_reader_writer.cc
|
|
PUBLIC_DEPS
|
|
pw_rpc.nanopb.common
|
|
pw_rpc.server
|
|
PRIVATE_DEPS
|
|
pw_log
|
|
)
|
|
if(Zephyr_FOUND AND CONFIG_PIGWEED_RPC_NANOPB_METHOD)
|
|
zephyr_link_libraries(pw_rpc.nanopb.method)
|
|
endif()
|
|
|
|
pw_add_module_library(pw_rpc.nanopb.method_union
|
|
PUBLIC_DEPS
|
|
pw_rpc.nanopb.method
|
|
pw_rpc.raw
|
|
pw_rpc.server
|
|
PRIVATE_DEPS
|
|
pw_log
|
|
)
|
|
if(Zephyr_FOUND AND CONFIG_PIGWEED_RPC_NANOPB_METHOD_UNION)
|
|
zephyr_link_libraries(pw_rpc.nanopb.method_union)
|
|
endif()
|
|
|
|
pw_add_module_library(pw_rpc.nanopb.client
|
|
PUBLIC_DEPS
|
|
pw_function
|
|
pw_rpc.nanopb.common
|
|
pw_rpc.common
|
|
)
|
|
if(Zephyr_FOUND AND CONFIG_PIGWEED_RPC_NANOPB_CLIENT)
|
|
zephyr_link_libraries(pw_rpc.nanopb.client)
|
|
endif()
|
|
|
|
pw_add_module_library(pw_rpc.nanopb.common
|
|
SOURCES
|
|
common.cc
|
|
PUBLIC_DEPS
|
|
pw_bytes
|
|
pw_log
|
|
pw_rpc.common
|
|
pw_third_party.nanopb
|
|
)
|
|
if(Zephyr_FOUND AND CONFIG_PIGWEED_RPC_NANOPB_COMMON)
|
|
zephyr_link_libraries(pw_rpc.nanopb.common)
|
|
endif()
|
|
|
|
pw_add_module_library(pw_rpc.nanopb.echo_service
|
|
PUBLIC_DEPS
|
|
pw_rpc.protos.nanopb_rpc
|
|
)
|
|
if(Zephyr_FOUND AND CONFIG_PIGWEED_RPC_NANOPB_ECHO_SERVICE)
|
|
zephyr_link_libraries(pw_rpc.nanopb.echo_service)
|
|
endif()
|
|
|
|
pw_auto_add_module_tests(pw_rpc.nanopb
|
|
PRIVATE_DEPS
|
|
pw_rpc.client
|
|
pw_rpc.raw
|
|
pw_rpc.server
|
|
pw_rpc.nanopb.common
|
|
pw_rpc.protos.nanopb_rpc
|
|
pw_rpc.test_protos.nanopb_rpc
|
|
pw_rpc.test_utils
|
|
)
|