Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 1 | #------------------------------------------------------------------------------- |
Kevin Peng | b161419 | 2023-11-15 17:39:55 +0800 | [diff] [blame] | 2 | # Copyright (c) 2023-2024, Arm Limited. All rights reserved. |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | #------------------------------------------------------------------------------- |
| 7 | |
David Hu | 4c3c0ca | 2023-12-02 22:09:18 +0800 | [diff] [blame] | 8 | cmake_minimum_required(VERSION 3.21) |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 9 | |
| 10 | project("ERPC Host" LANGUAGES CXX C) |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 11 | |
| 12 | add_executable(erpc_main) |
| 13 | |
| 14 | add_subdirectory(../client client) |
| 15 | |
Antonio de Angelis | 6590084 | 2024-05-02 13:32:10 +0100 | [diff] [blame] | 16 | # Include exported targets as we need psa_crypto_config |
| 17 | include(${CONFIG_SPE_PATH}/cmake/spe_export.cmake) |
| 18 | |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 19 | if (ERPC_TRANSPORT STREQUAL "UART") |
| 20 | if (NOT DEFINED PORT_NAME) |
| 21 | message(FATAL_ERROR "Please provide PORT_NAME!") |
| 22 | endif() |
| 23 | elseif (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 Guo | 4625c23 | 2023-07-11 10:21:49 +0800 | [diff] [blame] | 27 | elseif (DEFINED ERPC_TRANSPORT) |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 28 | message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!") |
| 29 | endif() |
| 30 | |
| 31 | target_sources(erpc_main |
| 32 | PRIVATE |
| 33 | main.c |
| 34 | ${ERPC_REPO_PATH}/erpc_c/port/erpc_threading_pthreads.cpp |
Jason Guo | 4625c23 | 2023-07-11 10:21:49 +0800 | [diff] [blame] | 35 | ${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 Peng | 9718581 | 2023-11-15 15:34:48 +0800 | [diff] [blame] | 39 | ${CONFIG_SPE_PATH}/interface/src/tfm_crypto_api.c |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 40 | ) |
| 41 | |
| 42 | target_link_libraries(erpc_main |
| 43 | PRIVATE |
| 44 | erpc_client |
| 45 | pthread |
Antonio de Angelis | 6590084 | 2024-05-02 13:32:10 +0100 | [diff] [blame] | 46 | PUBLIC |
| 47 | psa_crypto_config |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 48 | ) |
| 49 | |
| 50 | target_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 Qin | 46f1c98 | 2022-12-14 15:24:50 +0800 | [diff] [blame] | 57 | PLATFORM_DEFAULT_CRYPTO_KEYS |
Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame] | 58 | ) |