Summer Qin | 153f3df | 2022-11-17 15:51:02 +0800 | [diff] [blame^] | 1 | #------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2023, Arm Limited. All rights reserved. |
| 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | #------------------------------------------------------------------------------- |
| 7 | |
| 8 | cmake_minimum_required(VERSION 3.15) |
| 9 | |
| 10 | project("ERPC Host" LANGUAGES CXX C) |
| 11 | set(CMAKE_CXX_FLAGS "-m32") |
| 12 | set(CMAKE_C_FLAGS "-m32") |
| 13 | |
| 14 | add_executable(erpc_main) |
| 15 | |
| 16 | add_subdirectory(../client client) |
| 17 | |
| 18 | if (NOT DEFINED ERPC_TRANSPORT) |
| 19 | message(FATAL_ERROR "Please select ERPC_TRANSPORT, currently only UART and TCP are supported!") |
| 20 | endif() |
| 21 | |
| 22 | if (ERPC_TRANSPORT STREQUAL "UART") |
| 23 | if (NOT DEFINED PORT_NAME) |
| 24 | message(FATAL_ERROR "Please provide PORT_NAME!") |
| 25 | endif() |
| 26 | elseif (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() |
| 30 | else() |
| 31 | message(FATAL_ERROR "Please provided supported transportation type (UART and TCP)!") |
| 32 | endif() |
| 33 | |
| 34 | target_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> |
| 42 | ) |
| 43 | |
| 44 | target_link_libraries(erpc_main |
| 45 | PRIVATE |
| 46 | erpc_client |
| 47 | pthread |
| 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}> |
| 57 | ) |