1# 2# Arm SCP/MCP Software 3# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved. 4# 5# SPDX-License-Identifier: BSD-3-Clause 6# 7 8include("${CMAKE_CURRENT_LIST_DIR}/GNU-Base.cmake") 9include("${CMAKE_CURRENT_LIST_DIR}/Generic-Baremetal.cmake") 10 11foreach(language IN ITEMS ASM C CXX) 12 13 if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") 14 if(DEFINED SCP_AARCH64_PROCESSOR_TARGET) 15 string(APPEND CMAKE_${language}_FLAGS_INIT 16 "-mcpu=${SCP_AARCH64_PROCESSOR_TARGET} ") 17 endif() 18 string(APPEND CMAKE_${language}_FLAGS_INIT 19 "-mstrict-align -fno-builtin -DAARCH64 -D__ASSEMBLY__ ") 20 endif() 21 22 if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m(3|7|33|55)") 23 string(APPEND CMAKE_${language}_FLAGS_INIT "-mthumb ") 24 string(APPEND CMAKE_${language}_FLAGS_INIT 25 "-mcpu=${CMAKE_SYSTEM_PROCESSOR} ") 26 endif() 27 28 string(APPEND CMAKE_${language}_FLAGS_INIT "-ffunction-sections ") 29 string(APPEND CMAKE_${language}_FLAGS_INIT "-fdata-sections ") 30 string(APPEND CMAKE_${language}_FLAGS_INIT "-fshort-enums ") 31 string(APPEND CMAKE_${language}_FLAGS_INIT "-Wall -Werror -Wextra ") 32 string(APPEND CMAKE_${language}_FLAGS_INIT 33 "-Wno-error=deprecated-declarations ") 34 string(APPEND CMAKE_${language}_FLAGS_INIT "-Wno-unused-parameter ") 35 string(APPEND CMAKE_${language}_FLAGS_INIT 36 "-Wno-missing-field-initializers ") 37 38 string(APPEND CMAKE_${language}_FLAGS_DEBUG_INIT "-Og") 39endforeach() 40 41string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--gc-sections ") 42