blob: 8d72089c8b6432a45d4f599e8d68f0e2036ccfdb [file] [log] [blame]
Imre Kis9fcf8412020-11-23 03:15:45 +01001#-------------------------------------------------------------------------------
Gyorgy Szingec62ea72022-07-20 12:36:52 +00002# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
Imre Kis9fcf8412020-11-23 03:15:45 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7if (NOT DEFINED TGT)
8 message(FATAL_ERROR "mandatory parameter TGT is not defined.")
9endif()
10
Imre Kisbe97e772021-02-25 17:56:19 +010011set(FFA_DIRECT_MSG_ROUTING_EXTENSION ON CACHE BOOL "Enable FF-A direct message routing extension")
Imre Kis033d51a2024-01-15 17:19:36 +010012set(CFG_FFA_VERSION 0x00010001 CACHE STRING "The supported FF-A protocol's version: (major << 16) | minor")
Imre Kisbe97e772021-02-25 17:56:19 +010013
Imre Kis9fcf8412020-11-23 03:15:45 +010014target_sources(${TGT} PRIVATE
15 "${CMAKE_CURRENT_LIST_DIR}/aarch64/ffa_syscalls_a64.S"
16 "${CMAKE_CURRENT_LIST_DIR}/ffa.c"
17 "${CMAKE_CURRENT_LIST_DIR}/ffa_interrupt_handler.c"
Imre Kis9c8ef922020-11-23 03:15:48 +010018 "${CMAKE_CURRENT_LIST_DIR}/ffa_memory_descriptors.c"
Imre Kis66321592020-11-23 03:15:50 +010019 "${CMAKE_CURRENT_LIST_DIR}/sp_discovery.c"
Imre Kis34253f42020-11-23 03:15:49 +010020 "${CMAKE_CURRENT_LIST_DIR}/sp_memory_management.c"
Imre Kisc674b5b2021-02-09 19:05:27 +010021 "${CMAKE_CURRENT_LIST_DIR}/sp_messaging.c"
Imre Kis64476932020-11-23 03:15:47 +010022 "${CMAKE_CURRENT_LIST_DIR}/sp_rxtx.c"
Imre Kis9fcf8412020-11-23 03:15:45 +010023 )
24
Gyorgy Szingec62ea72022-07-20 12:36:52 +000025set_property(TARGET ${TGT} APPEND PROPERTY PUBLIC_HEADER
Imre Kis28088342021-01-13 11:22:10 +010026 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api.h
Imre Kis9fcf8412020-11-23 03:15:45 +010027 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_defines.h
28 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_types.h
Imre Kis9fcf8412020-11-23 03:15:45 +010029 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_internal_api.h
Imre Kis9c8ef922020-11-23 03:15:48 +010030 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_memory_descriptors.h
Imre Kis28088342021-01-13 11:22:10 +010031 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api.h
Imre Kis9fcf8412020-11-23 03:15:45 +010032 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api_defines.h
33 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api_types.h
Imre Kis28088342021-01-13 11:22:10 +010034 ${CMAKE_CURRENT_LIST_DIR}/include/sp_discovery.h
35 ${CMAKE_CURRENT_LIST_DIR}/include/sp_memory_management.h
Imre Kisc674b5b2021-02-09 19:05:27 +010036 ${CMAKE_CURRENT_LIST_DIR}/include/sp_messaging.h
Imre Kis64476932020-11-23 03:15:47 +010037 ${CMAKE_CURRENT_LIST_DIR}/include/sp_rxtx.h
Imre Kis9fcf8412020-11-23 03:15:45 +010038 )
39
Imre Kisbe97e772021-02-25 17:56:19 +010040if (FFA_DIRECT_MSG_ROUTING_EXTENSION)
41 target_sources(${TGT} PRIVATE
42 "${CMAKE_CURRENT_LIST_DIR}/ffa_direct_msg_routing_extension.c"
43 )
44
45 target_compile_options(${TGT} PUBLIC
46 -DFFA_DIRECT_MSG_ROUTING_EXTENSION=1
47 )
48endif()
Imre Kis9fcf8412020-11-23 03:15:45 +010049
Imre Kis1f5b1c62024-01-15 12:51:03 +010050target_compile_definitions(${TGT}
51 PUBLIC
52 "CFG_FFA_VERSION=${CFG_FFA_VERSION}"
53 )
54
Imre Kis9fcf8412020-11-23 03:15:45 +010055target_include_directories(${TGT}
56 PUBLIC
57 "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
Gyorgy Szingec62ea72022-07-20 12:36:52 +000058 "$<INSTALL_INTERFACE:${TS_ENV}/include>"
Imre Kis9fcf8412020-11-23 03:15:45 +010059 )