1# 2# Arm SCP/MCP Software 3# Copyright (c) 2023, 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(${SCP_MODULE_TARGET} 14 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/mod_scmi_power_capping.c") 15 16target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-power-allocator) 17target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-power-meter) 18target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-power-coordinator) 19 20if(SCP_EXCLUDE_SCMI_POWER_CAPPING_STD_COMMANDS AND 21 (NOT SCP_ENABLE_SCMI_POWER_CAPPING_FAST_CHANNELS_COMMANDS)) 22 message( FATAL_ERROR "Non fast channels commands and fast channels commands can't be excluded simultaneously" ) 23endif() 24 25if(NOT SCP_EXCLUDE_SCMI_POWER_CAPPING_STD_COMMANDS) 26 add_definitions(-BUILD_HAS_SCMI_POWER_CAPPING_STD_COMMANDS) 27 target_sources(${SCP_MODULE_TARGET} 28 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/scmi_power_capping_protocol.c") 29 30 target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-scmi) 31endif() 32 33if("resource-perms" IN_LIST SCP_MODULES) 34 target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-resource-perms) 35endif() 36 37if(SCP_ENABLE_SCMI_POWER_CAPPING_FAST_CHANNELS_COMMANDS) 38 target_sources( 39 ${SCP_MODULE_TARGET} 40 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/scmi_power_capping_fast_channels.c") 41 target_link_libraries(${SCP_MODULE_TARGET} PRIVATE module-transport) 42endif() 43