Print the name of the discovered toolchain as well as the variable used to initialize it. This is nice to know when doing remote support, since users will sometimes misconfigure their toolchain and not know what that means. Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
35 lines
1007 B
CMake
35 lines
1007 B
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
find_appropriate_cache_directory(USER_CACHE_DIR)
|
|
|
|
if((NOT "${USER_CACHE_DIR}" STREQUAL "") AND (EXISTS "${USER_CACHE_DIR}"))
|
|
message(STATUS "Invalidating toolchain capability cache in ${USER_CACHE_DIR}")
|
|
execute_process(COMMAND
|
|
${CMAKE_COMMAND} -E remove_directory "${USER_CACHE_DIR}")
|
|
endif()
|
|
|
|
if(DEFINED $ENV{CLANG_ROOT_DIR})
|
|
set(TOOLCHAIN_HOME ${CLANG_ROOT}/bin/)
|
|
endif()
|
|
|
|
set(COMPILER clang)
|
|
set(LINKER ld) # TODO: Use lld eventually rather than GNU ld
|
|
set(BINTOOLS llvm)
|
|
|
|
if("${ARCH}" STREQUAL "arm")
|
|
set(triple arm-none-eabi)
|
|
set(CMAKE_EXE_LINKER_FLAGS_INIT "--specs=nosys.specs")
|
|
elseif("${ARCH}" STREQUAL "x86")
|
|
set(triple i686-pc-none-elf)
|
|
endif()
|
|
|
|
set(CMAKE_C_COMPILER_TARGET ${triple})
|
|
set(CMAKE_ASM_COMPILER_TARGET ${triple})
|
|
set(CMAKE_CXX_COMPILER_TARGET ${triple})
|
|
|
|
if("${ARCH}" STREQUAL "posix")
|
|
set(TOOLCHAIN_HAS_NEWLIB OFF CACHE BOOL "True if toolchain supports newlib")
|
|
endif()
|
|
|
|
message(STATUS "Found toolchain: host (clang/ld)")
|