blob: 575fa48f77eab3a00f1641d4e60c1ade26e4efa4 [file] [log] [blame]
#-------------------------------------------------------------------------------
# Copyright (c) 2023-2024, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.21)
project("ERPC Host" LANGUAGES CXX C)
add_executable(erpc_main)
add_subdirectory(../client client)
# Include exported targets as we need psa_crypto_config
include(${CONFIG_SPE_PATH}/cmake/spe_export.cmake)
if (ERPC_TRANSPORT STREQUAL "UART")
if (NOT DEFINED PORT_NAME)
message(FATAL_ERROR "Please provide PORT_NAME!")
endif()
elseif (ERPC_TRANSPORT STREQUAL "TCP")
if((NOT DEFINED ERPC_HOST) OR (NOT DEFINED ERPC_PORT))
message(FATAL_ERROR "Please provide ERPC_HOST and ERPC_PORT!")
endif()
elseif (DEFINED ERPC_TRANSPORT)
message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!")
endif()
target_sources(erpc_main
PRIVATE
main.c
${ERPC_REPO_PATH}/erpc_c/port/erpc_threading_pthreads.cpp
${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_serial.cpp
${ERPC_REPO_PATH}/erpc_c/transports/erpc_serial_transport.cpp
${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_tcp.cpp
${ERPC_REPO_PATH}/erpc_c/transports/erpc_tcp_transport.cpp
${CONFIG_SPE_PATH}/interface/src/tfm_crypto_api.c
)
target_link_libraries(erpc_main
PRIVATE
erpc_client
pthread
PUBLIC
psa_crypto_config
)
target_compile_definitions(erpc_main
PRIVATE
$<$<STREQUAL:${ERPC_TRANSPORT},UART>:ERPC_TRANSPORT_UART>
$<$<STREQUAL:${ERPC_TRANSPORT},TCP>:ERPC_TRANSPORT_TCP>
$<$<AND:$<STREQUAL:${ERPC_TRANSPORT},UART>,$<BOOL:${PORT_NAME}>>:PORT_NAME="${PORT_NAME}">
$<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_HOST}>>:ERPC_HOST="${ERPC_HOST}">
$<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_PORT}>>:ERPC_PORT=${ERPC_PORT}>
PLATFORM_DEFAULT_CRYPTO_KEYS
)