|
|
@@ -121,9 +121,9 @@ elseif("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" MATCHES "^xIAR$")
|
|
|
set(_CMAKE_IAR_ITOOLS "ARM" "RX" "RH850" "RL78" "RISCV" "RISC-V" "STM8")
|
|
|
set(_CMAKE_IAR_XTOOLS "AVR" "MSP430" "V850" "8051")
|
|
|
|
|
|
- if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_ITOOLS)
|
|
|
- string(TOLOWER "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" _CMAKE_IAR_LOWER_ARCHITECTURE_ID)
|
|
|
+ string(TOLOWER "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" _CMAKE_IAR_LOWER_ARCHITECTURE_ID)
|
|
|
|
|
|
+ if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_ITOOLS)
|
|
|
__append_IAR_tool(AR "iarchive")
|
|
|
__append_IAR_tool(LINKER "ilink${_CMAKE_IAR_LOWER_ARCHITECTURE_ID}")
|
|
|
|
|
|
@@ -132,16 +132,21 @@ elseif("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" MATCHES "^xIAR$")
|
|
|
__append_IAR_tool(IAR_OBJMANIP "iobjmanip")
|
|
|
__append_IAR_tool(IAR_SYMEXPORT "isymexport")
|
|
|
|
|
|
- unset(_CMAKE_IAR_LOWER_ARCHITECTURE_ID)
|
|
|
-
|
|
|
elseif("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_XTOOLS)
|
|
|
__append_IAR_tool(AR "xar")
|
|
|
- __append_IAR_tool(LINKER "xlink")
|
|
|
+ if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR" AND
|
|
|
+ (CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION VERSION_GREATER 7))
|
|
|
+ # IAR UBROF Linker V8.10+ for Microchip AVR is `xlinkavr`
|
|
|
+ __append_IAR_tool(LINKER "xlink${_CMAKE_IAR_LOWER_ARCHITECTURE_ID}")
|
|
|
+ else()
|
|
|
+ __append_IAR_tool(LINKER "xlink")
|
|
|
+ endif()
|
|
|
|
|
|
else()
|
|
|
message(FATAL_ERROR "Failed to find linker and librarian for ${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID} on ${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}.")
|
|
|
endif()
|
|
|
|
|
|
+ unset(_CMAKE_IAR_LOWER_ARCHITECTURE_ID)
|
|
|
unset(_CMAKE_IAR_ITOOLS)
|
|
|
unset(_CMAKE_IAR_XTOOLS)
|
|
|
|