blob: d718be0c00456ae4137d5aeef099261ede36c517 [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
8cmake_minimum_required(VERSION 3.15)
9
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
Summer Qin153f3df2022-11-17 15:51:02 +080018if (ERPC_TRANSPORT STREQUAL "UART")
19 if (NOT DEFINED PORT_NAME)
20 message(FATAL_ERROR "Please provide PORT_NAME!")
21 endif()
22elseif (ERPC_TRANSPORT STREQUAL "TCP")
23 if((NOT DEFINED ERPC_HOST) OR (NOT DEFINED ERPC_PORT))
24 message(FATAL_ERROR "Please provide ERPC_HOST and ERPC_PORT!")
25 endif()
Jason Guo4625c232023-07-11 10:21:49 +080026elseif (DEFINED ERPC_TRANSPORT)
Summer Qin153f3df2022-11-17 15:51:02 +080027 message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!")
28endif()
29
30target_sources(erpc_main
31 PRIVATE
32 main.c
33 ${ERPC_REPO_PATH}/erpc_c/port/erpc_threading_pthreads.cpp
Jason Guo4625c232023-07-11 10:21:49 +080034 ${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_serial.cpp
35 ${ERPC_REPO_PATH}/erpc_c/transports/erpc_serial_transport.cpp
36 ${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_tcp.cpp
37 ${ERPC_REPO_PATH}/erpc_c/transports/erpc_tcp_transport.cpp
Summer Qin46f1c982022-12-14 15:24:50 +080038 ${TFM_INSTALL_PATH}/interface/src/tfm_crypto_api.c
Summer Qin153f3df2022-11-17 15:51:02 +080039)
40
41target_link_libraries(erpc_main
42 PRIVATE
43 erpc_client
44 pthread
45)
46
47target_compile_definitions(erpc_main
48 PRIVATE
49 $<$<STREQUAL:${ERPC_TRANSPORT},UART>:ERPC_TRANSPORT_UART>
50 $<$<STREQUAL:${ERPC_TRANSPORT},TCP>:ERPC_TRANSPORT_TCP>
51 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},UART>,$<BOOL:${PORT_NAME}>>:PORT_NAME="${PORT_NAME}">
52 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_HOST}>>:ERPC_HOST="${ERPC_HOST}">
53 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_PORT}>>:ERPC_PORT=${ERPC_PORT}>
Summer Qin46f1c982022-12-14 15:24:50 +080054 PLATFORM_DEFAULT_CRYPTO_KEYS
Summer Qin153f3df2022-11-17 15:51:02 +080055)