1# 2# Arm SCP/MCP Software 3# Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved. 4# 5# SPDX-License-Identifier: BSD-3-Clause 6# 7 8add_library(${SCP_MODULE_TARGET} SCP_MODULE) 9 10target_include_directories(${SCP_MODULE_TARGET} 11 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") 12 13target_sources( 14 ${SCP_MODULE_TARGET} 15 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/mod_scmi_perf.c") 16 17if(NOT SCP_TARGET_EXCLUDE_SCMI_PERF_PROTOCOL_OPS) 18 add_definitions(-DBUILD_HAS_SCMI_PERF_PROTOCOL_OPS) 19 20 target_sources( 21 ${SCP_MODULE_TARGET} 22 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/scmi_perf_protocol_ops.c") 23endif() 24 25if(SCP_ENABLE_SCMI_PERF_FAST_CHANNELS) 26 target_sources( 27 ${SCP_MODULE_TARGET} 28 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/scmi_perf_fastchannels.c") 29endif() 30 31if(SCP_ENABLE_PLUGIN_HANDLER) 32 if(NOT SCP_ENABLE_SCMI_PERF_FAST_CHANNELS) 33 MESSAGE(FATAL_ERROR 34 "ERROR: Plugin-handler requires SCMI-perf FastChannels") 35 endif() 36 37 target_sources( 38 ${SCP_MODULE_TARGET} 39 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/perf_plugins_handler.c") 40endif() 41 42target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-dvfs module-scmi 43 module-timer 44 module-perf-controller) 45 46if("resource-perms" IN_LIST SCP_MODULES) 47 target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-resource-perms) 48endif() 49 50if("statistics" IN_LIST SCP_MODULES) 51 target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-statistics) 52endif() 53 54if("transport" IN_LIST SCP_MODULES) 55 target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-transport) 56endif() 57