cmake: Using Arm compiler from Mbed Studio

Added a command line option `-DMBEDIDE=ON` which allows using Arm
compiler shipped with Mbed Studio on local machines.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
pull/13566/head
Devaraj Ranganna 2020-07-21 13:39:27 +01:00 committed by Hugues Kamba
parent f18622e8d7
commit 10f421258d
3 changed files with 11 additions and 2 deletions

View File

@ -64,9 +64,9 @@ if(MBED_TOOLCHAIN STREQUAL "GCC_ARM")
)
elseif(MBED_TOOLCHAIN STREQUAL "ARM")
set(CMAKE_POST_BUILD_COMMAND
COMMAND ${ELF2BIN} --bin -o $<TARGET_FILE:app>.bin $<TARGET_FILE:app>
COMMAND ${ELF2BIN} ${MBED_STUDIO_ARM_COMPILER} --bin -o $<TARGET_FILE:app>.bin $<TARGET_FILE:app>
COMMAND ${CMAKE_COMMAND} -E echo "-- built: $<TARGET_FILE:app>.bin"
COMMAND ${ELF2BIN} --i32combined -o $<TARGET_FILE:app>.hex $<TARGET_FILE:app>
COMMAND ${ELF2BIN} ${MBED_STUDIO_ARM_COMPILER} --i32combined -o $<TARGET_FILE:app>.hex $<TARGET_FILE:app>
COMMAND ${CMAKE_COMMAND} -E echo "-- built: $<TARGET_FILE:app>.hex"
)
elseif(MBED_TOOLCHAIN STREQUAL "IAR")

View File

@ -1,4 +1,8 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
option(MBEDIDE "Use Arm compiler from Mbed Studio" OFF)
if(MBEDIDE)
set(MBED_STUDIO_ARM_COMPILER "--ide=mbed")
endif()
include(${MBED_ROOT}/cmake/toolchains/${MBED_TOOLCHAIN}.cmake)

View File

@ -7,6 +7,7 @@ set(CMAKE_CXX_COMPILER "armclang")
set(CMAKE_AR "armar")
set(ELF2BIN "fromelf")
set(COMMON_FLAGS " \
${MBED_STUDIO_ARM_COMPILER} \
-c \
--target=arm-arm-none-eabi \
-Oz \
@ -26,9 +27,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
${COMMON_FLAGS} \
")
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} \
${MBED_STUDIO_ARM_COMPILER} \
--cpreproc \
--cpreproc_opts=--target=arm-arm-none-eabi,-mcpu=cortex-m4,-D,__FPU_PRESENT,-D,MBED_CONF_PLATFORM_CRASH_CAPTURE_ENABLED \
")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \
${MBED_STUDIO_ARM_COMPILER} \
")
add_definitions(
-DTOOLCHAIN_ARM