zephyr/cmake/compiler/armclang/generic.cmake

41 lines
1.1 KiB
CMake

# SPDX-License-Identifier: Apache-2.0
# Configures CMake for using ccac
find_program(CMAKE_C_COMPILER ${CROSS_COMPILE}armclang PATHS ${TOOLCHAIN_HOME}/bin NO_DEFAULT_PATH)
set(triple arm-arm-none-eabi)
find_package(armclang 6.17 REQUIRED)
set(CMAKE_DTS_PREPROCESSOR
${CMAKE_C_COMPILER}
"--target=${triple}"
# -march=armv6-m is added to silence the warnings:
# 'armv4t' and 'arm7tdmi' is unsupported.
# We only do preprocessing so the actual arch is not important.
"-march=armv6-m"
)
set(CMAKE_C_COMPILER_TARGET ${triple})
set(CMAKE_ASM_COMPILER_TARGET ${triple})
set(CMAKE_CXX_COMPILER_TARGET ${triple})
if(CMAKE_C_COMPILER STREQUAL CMAKE_C_COMPILER-NOTFOUND)
message(FATAL_ERROR "Zephyr was unable to find the armclang compiler")
endif()
execute_process(
COMMAND ${CMAKE_C_COMPILER} --version
RESULT_VARIABLE ret
OUTPUT_QUIET
ERROR_QUIET
)
if(ret)
message(FATAL_ERROR "Executing the below command failed. "
"Are permissions set correctly? '${CMAKE_C_COMPILER} --version' "
"And is the license setup correctly ?"
)
endif()