blob: b768f09c573a2420d5ec1f7a8b27f54106330372 [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"
Gabor Toth3db0e252025-03-11 14:46:05 +010022 "${CMAKE_CURRENT_LIST_DIR}/sp_notification.c"
Imre Kis64476932020-11-23 03:15:47 +010023 "${CMAKE_CURRENT_LIST_DIR}/sp_rxtx.c"
Imre Kis9fcf8412020-11-23 03:15:45 +010024 )
25
Gyorgy Szingec62ea72022-07-20 12:36:52 +000026set_property(TARGET ${TGT} APPEND PROPERTY PUBLIC_HEADER
Imre Kis28088342021-01-13 11:22:10 +010027 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api.h
Imre Kis9fcf8412020-11-23 03:15:45 +010028 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_defines.h
29 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_types.h
Imre Kis9fcf8412020-11-23 03:15:45 +010030 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_internal_api.h
Imre Kis9c8ef922020-11-23 03:15:48 +010031 ${CMAKE_CURRENT_LIST_DIR}/include/ffa_memory_descriptors.h
Imre Kis28088342021-01-13 11:22:10 +010032 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api.h
Imre Kis9fcf8412020-11-23 03:15:45 +010033 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api_defines.h
34 ${CMAKE_CURRENT_LIST_DIR}/include/sp_api_types.h
Imre Kis28088342021-01-13 11:22:10 +010035 ${CMAKE_CURRENT_LIST_DIR}/include/sp_discovery.h
36 ${CMAKE_CURRENT_LIST_DIR}/include/sp_memory_management.h
Imre Kisc674b5b2021-02-09 19:05:27 +010037 ${CMAKE_CURRENT_LIST_DIR}/include/sp_messaging.h
Gabor Toth3db0e252025-03-11 14:46:05 +010038 ${CMAKE_CURRENT_LIST_DIR}/include/sp_notification.h
Imre Kis64476932020-11-23 03:15:47 +010039 ${CMAKE_CURRENT_LIST_DIR}/include/sp_rxtx.h
Imre Kis9fcf8412020-11-23 03:15:45 +010040 )
41
Imre Kisbe97e772021-02-25 17:56:19 +010042if (FFA_DIRECT_MSG_ROUTING_EXTENSION)
43 target_sources(${TGT} PRIVATE
44 "${CMAKE_CURRENT_LIST_DIR}/ffa_direct_msg_routing_extension.c"
45 )
46
47 target_compile_options(${TGT} PUBLIC
48 -DFFA_DIRECT_MSG_ROUTING_EXTENSION=1
49 )
50endif()
Imre Kis9fcf8412020-11-23 03:15:45 +010051
Imre Kis1f5b1c62024-01-15 12:51:03 +010052target_compile_definitions(${TGT}
53 PUBLIC
54 "CFG_FFA_VERSION=${CFG_FFA_VERSION}"
55 )
56
Imre Kis9fcf8412020-11-23 03:15:45 +010057target_include_directories(${TGT}
58 PUBLIC
59 "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
Gyorgy Szingec62ea72022-07-20 12:36:52 +000060 "$<INSTALL_INTERFACE:${TS_ENV}/include>"
Imre Kis9fcf8412020-11-23 03:15:45 +010061 )