diff --git a/cmake/toolchain/llvm/generic.cmake b/cmake/toolchain/llvm/generic.cmake index 8d121ddb594..f0a8cf45355 100644 --- a/cmake/toolchain/llvm/generic.cmake +++ b/cmake/toolchain/llvm/generic.cmake @@ -17,21 +17,6 @@ set(LLVM_TOOLCHAIN_PATH ${CLANG_ROOT_DIR} CACHE PATH "clang install directory") set(COMPILER clang) 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") - if(CONFIG_64BIT) - set(triple x86_64-pc-none-elf) - else() - set(triple i686-pc-none-elf) - endif() -endif() - -set(CMAKE_C_COMPILER_TARGET ${triple}) -set(CMAKE_ASM_COMPILER_TARGET ${triple}) -set(CMAKE_CXX_COMPILER_TARGET ${triple}) - set(TOOLCHAIN_HAS_NEWLIB OFF CACHE BOOL "True if toolchain supports newlib") list(APPEND TOOLCHAIN_C_FLAGS --config ${ZEPHYR_BASE}/cmake/toolchain/llvm/clang.cfg) diff --git a/cmake/toolchain/llvm/target.cmake b/cmake/toolchain/llvm/target.cmake index f0728c89b65..0d180304c8e 100644 --- a/cmake/toolchain/llvm/target.cmake +++ b/cmake/toolchain/llvm/target.cmake @@ -5,3 +5,22 @@ if(CONFIG_LLVM_USE_LD) elseif(CONFIG_LLVM_USE_LLD) set(LINKER lld) endif() + +if("${ARCH}" STREQUAL "arm") + set(triple arm-none-eabi) + set(CMAKE_EXE_LINKER_FLAGS_INIT "--specs=nosys.specs") +elseif("${ARCH}" STREQUAL "x86") + if(CONFIG_64BIT) + set(triple x86_64-pc-none-elf) + else() + set(triple i686-pc-none-elf) + endif() +endif() + +if(DEFINED triple) + set(CMAKE_C_COMPILER_TARGET ${triple}) + set(CMAKE_ASM_COMPILER_TARGET ${triple}) + set(CMAKE_CXX_COMPILER_TARGET ${triple}) + + unset(triple) +endif()