blob: 626e08aa685e88e8e61b0f70092bed5be417c2c1 [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
18if (NOT DEFINED ERPC_TRANSPORT)
19 message(FATAL_ERROR "Please select ERPC_TRANSPORT, currently only UART and TCP are supported!")
20endif()
21
22if (ERPC_TRANSPORT STREQUAL "UART")
23 if (NOT DEFINED PORT_NAME)
24 message(FATAL_ERROR "Please provide PORT_NAME!")
25 endif()
26elseif (ERPC_TRANSPORT STREQUAL "TCP")
27 if((NOT DEFINED ERPC_HOST) OR (NOT DEFINED ERPC_PORT))
28 message(FATAL_ERROR "Please provide ERPC_HOST and ERPC_PORT!")
29 endif()
30else()
31 message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!")
32endif()
33
34target_sources(erpc_main
35 PRIVATE
36 main.c
37 ${ERPC_REPO_PATH}/erpc_c/port/erpc_threading_pthreads.cpp
38 $<$<STREQUAL:${ERPC_TRANSPORT},UART>:${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_serial.cpp>
39 $<$<STREQUAL:${ERPC_TRANSPORT},UART>:${ERPC_REPO_PATH}/erpc_c/transports/erpc_serial_transport.cpp>
40 $<$<STREQUAL:${ERPC_TRANSPORT},TCP>:${ERPC_REPO_PATH}/erpc_c/setup/erpc_setup_tcp.cpp>
41 $<$<STREQUAL:${ERPC_TRANSPORT},TCP>:${ERPC_REPO_PATH}/erpc_c/transports/erpc_tcp_transport.cpp>
Summer Qin46f1c982022-12-14 15:24:50 +080042 ${TFM_INSTALL_PATH}/interface/src/tfm_crypto_api.c
Summer Qin153f3df2022-11-17 15:51:02 +080043)
44
45target_link_libraries(erpc_main
46 PRIVATE
47 erpc_client
48 pthread
49)
50
51target_compile_definitions(erpc_main
52 PRIVATE
53 $<$<STREQUAL:${ERPC_TRANSPORT},UART>:ERPC_TRANSPORT_UART>
54 $<$<STREQUAL:${ERPC_TRANSPORT},TCP>:ERPC_TRANSPORT_TCP>
55 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},UART>,$<BOOL:${PORT_NAME}>>:PORT_NAME="${PORT_NAME}">
56 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_HOST}>>:ERPC_HOST="${ERPC_HOST}">
57 $<$<AND:$<STREQUAL:${ERPC_TRANSPORT},TCP>,$<BOOL:${ERPC_PORT}>>:ERPC_PORT=${ERPC_PORT}>
Summer Qin46f1c982022-12-14 15:24:50 +080058 PLATFORM_DEFAULT_CRYPTO_KEYS
Summer Qin153f3df2022-11-17 15:51:02 +080059)