blob: ce780b9901ab05df6068b0ef26f8bb6b96508a6d [file] [log] [blame]
Summer Qin153f3df2022-11-17 15:51:02 +08001#-------------------------------------------------------------------------------
2# Copyright (c) 2023, Arm Limited. All rights reserved.
3#
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)
11set(CMAKE_CXX_FLAGS "-m32")
12set(CMAKE_C_FLAGS "-m32")
13
14add_executable(erpc_main)
15
16add_subdirectory(../client client)
17
Antonio de Angelis65900842024-05-02 13:32:10 +010018# Include exported targets as we need psa_crypto_config
19include(${CONFIG_SPE_PATH}/cmake/spe_export.cmake)
20
Summer Qin153f3df2022-11-17 15:51:02 +080021if (ERPC_TRANSPORT STREQUAL "UART")
22 if (NOT DEFINED PORT_NAME)
23 message(FATAL_ERROR "Please provide PORT_NAME!")
24 endif()
25elseif (ERPC_TRANSPORT STREQUAL "TCP")
26 if((NOT DEFINED ERPC_HOST) OR (NOT DEFINED ERPC_PORT))
27 message(FATAL_ERROR "Please provide ERPC_HOST and ERPC_PORT!")
28 endif()
Jason Guo4625c232023-07-11 10:21:49 +080029elseif (DEFINED ERPC_TRANSPORT)
Summer Qin153f3df2022-11-17 15:51:02 +080030 message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!")
31endif()
32
33target_sources(erpc_main
34 PRIVATE
35 main.c
36 ${ERPC_REPO_PATH}/erpc_c/port/erpc_threading_pthreads.cpp
Jason Guo4625c232023-07-11 10:21:49 +080037 ${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_serial.cpp
38 ${ERPC_REPO_PATH}/erpc_c/transports/erpc_serial_transport.cpp
39 ${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_tcp.cpp
40 ${ERPC_REPO_PATH}/erpc_c/transports/erpc_tcp_transport.cpp
Kevin Peng97185812023-11-15 15:34:48 +080041 ${CONFIG_SPE_PATH}/interface/src/tfm_crypto_api.c
Summer Qin153f3df2022-11-17 15:51:02 +080042)
43
44target_link_libraries(erpc_main
45 PRIVATE
46 erpc_client
47 pthread
Antonio de Angelis65900842024-05-02 13:32:10 +010048 PUBLIC
49 psa_crypto_config
Summer Qin153f3df2022-11-17 15:51:02 +080050)
51
52target_compile_definitions(erpc_main
53 PRIVATE
54 $<$<STREQUAL:${ERPC_TRANSPORT},UART>:ERPC_TRANSPORT_UART>
55 $<$<STREQUAL:${ERPC_TRANSPORT},TCP>:ERPC_TRANSPORT_TCP>
56 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},UART>,$<BOOL:${PORT_NAME}>>:PORT_NAME="${PORT_NAME}">
57 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_HOST}>>:ERPC_HOST="${ERPC_HOST}">
58 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_PORT}>>:ERPC_PORT=${ERPC_PORT}>
Summer Qin46f1c982022-12-14 15:24:50 +080059 PLATFORM_DEFAULT_CRYPTO_KEYS
Summer Qin153f3df2022-11-17 15:51:02 +080060)