zephyr/cmake/toolchain/armclang/generic.cmake

31 lines
1012 B
CMake

# SPDX-License-Identifier: Apache-2.0
set_ifndef(ARMCLANG_TOOLCHAIN_PATH "$ENV{ARMCLANG_TOOLCHAIN_PATH}")
set(ARMCLANG_TOOLCHAIN_PATH ${ARMCLANG_TOOLCHAIN_PATH} CACHE PATH "armclang tools install directory")
assert(ARMCLANG_TOOLCHAIN_PATH "ARMCLANG_TOOLCHAIN_PATH is not set")
if(${CMAKE_VERSION} VERSION_LESS 3.21
AND NOT ${CMAKE_GENERATOR} STREQUAL Ninja
)
message(FATAL_ERROR "ARMClang Toolchain and '${CMAKE_GENERATOR}' generator "
"doesn't work properly for target object files on CMake version: "
"${CMAKE_VERSION}. Use the 'Ninja' generator or update to CMake >= 3.21."
)
endif()
if(NOT EXISTS ${ARMCLANG_TOOLCHAIN_PATH})
message(FATAL_ERROR "Nothing found at ARMCLANG_TOOLCHAIN_PATH: '${ARMCLANG_TOOLCHAIN_PATH}'")
endif()
set(TOOLCHAIN_HOME ${ARMCLANG_TOOLCHAIN_PATH})
set(COMPILER armclang)
set(LINKER armlink)
set(BINTOOLS armclang)
set(SYSROOT_TARGET arm)
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/bin/)
set(TOOLCHAIN_HAS_NEWLIB OFF CACHE BOOL "True if toolchain supports newlib")