IAR: Added support for IAR C/C++ Compiler for Microchip AVR 8.10+
- Added C17 support - Added C++17 support - Changed: IAR UBROF Linker (XLINK) suffixed with target architecture (xlinkavr)
This commit is contained in:
parent
ee0a157755
commit
7cd982faf4
@ -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)
|
||||
|
||||
|
@ -59,7 +59,7 @@ elseif("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "RISCV")
|
||||
|
||||
elseif("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
|
||||
__compiler_iar_xlink(C)
|
||||
__compiler_check_default_language_standard(C 7.10 99)
|
||||
__compiler_check_default_language_standard(C 7.10 99 8.10 17)
|
||||
set(CMAKE_C_OUTPUT_EXTENSION ".r90")
|
||||
|
||||
elseif("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "MSP430")
|
||||
|
@ -68,7 +68,7 @@ elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "RISCV")
|
||||
|
||||
elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
|
||||
__compiler_iar_xlink(CXX)
|
||||
__compiler_check_default_language_standard(CXX 7.10 98)
|
||||
__compiler_check_default_language_standard(CXX 7.10 98 8.10 17)
|
||||
set(CMAKE_CXX_OUTPUT_EXTENSION ".r90")
|
||||
|
||||
elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "MSP430")
|
||||
|
Loading…
Reference in New Issue
Block a user