blob: 575fa48f77eab3a00f1641d4e60c1ade26e4efa4 [file] [log] [blame]
Summer Qin153f3df2022-11-17 15:51:02 +08001#-------------------------------------------------------------------------------
Kevin Pengb1614192023-11-15 17:39:55 +08002# Copyright (c) 2023-2024, Arm Limited. All rights reserved.
Summer Qin153f3df2022-11-17 15:51:02 +08003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
David Hu4c3c0ca2023-12-02 22:09:18 +08008cmake_minimum_required(VERSION 3.21)
Summer Qin153f3df2022-11-17 15:51:02 +08009
10project("ERPC Host" LANGUAGES CXX C)
Summer Qin153f3df2022-11-17 15:51:02 +080011
12add_executable(erpc_main)
13
14add_subdirectory(../client client)
15
Antonio de Angelis65900842024-05-02 13:32:10 +010016# Include exported targets as we need psa_crypto_config
17include(${CONFIG_SPE_PATH}/cmake/spe_export.cmake)
18
Summer Qin153f3df2022-11-17 15:51:02 +080019if (ERPC_TRANSPORT STREQUAL "UART")
20 if (NOT DEFINED PORT_NAME)
21 message(FATAL_ERROR "Please provide PORT_NAME!")
22 endif()
23elseif (ERPC_TRANSPORT STREQUAL "TCP")
24 if((NOT DEFINED ERPC_HOST) OR (NOT DEFINED ERPC_PORT))
25 message(FATAL_ERROR "Please provide ERPC_HOST and ERPC_PORT!")
26 endif()
Jason Guo4625c232023-07-11 10:21:49 +080027elseif (DEFINED ERPC_TRANSPORT)
Summer Qin153f3df2022-11-17 15:51:02 +080028 message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!")
29endif()
30
31target_sources(erpc_main
32 PRIVATE
33 main.c
34 ${ERPC_REPO_PATH}/erpc_c/port/erpc_threading_pthreads.cpp
Jason Guo4625c232023-07-11 10:21:49 +080035 ${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_serial.cpp
36 ${ERPC_REPO_PATH}/erpc_c/transports/erpc_serial_transport.cpp
37 ${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_tcp.cpp
38 ${ERPC_REPO_PATH}/erpc_c/transports/erpc_tcp_transport.cpp
Kevin Peng97185812023-11-15 15:34:48 +080039 ${CONFIG_SPE_PATH}/interface/src/tfm_crypto_api.c
Summer Qin153f3df2022-11-17 15:51:02 +080040)
41
42target_link_libraries(erpc_main
43 PRIVATE
44 erpc_client
45 pthread
Antonio de Angelis65900842024-05-02 13:32:10 +010046 PUBLIC
47 psa_crypto_config
Summer Qin153f3df2022-11-17 15:51:02 +080048)
49
50target_compile_definitions(erpc_main
51 PRIVATE
52 $<$<STREQUAL:${ERPC_TRANSPORT},UART>:ERPC_TRANSPORT_UART>
53 $<$<STREQUAL:${ERPC_TRANSPORT},TCP>:ERPC_TRANSPORT_TCP>
54 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},UART>,$<BOOL:${PORT_NAME}>>:PORT_NAME="${PORT_NAME}">
55 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_HOST}>>:ERPC_HOST="${ERPC_HOST}">
56 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_PORT}>>:ERPC_PORT=${ERPC_PORT}>
Summer Qin46f1c982022-12-14 15:24:50 +080057 PLATFORM_DEFAULT_CRYPTO_KEYS
Summer Qin153f3df2022-11-17 15:51:02 +080058)