diff options
author | Brad King <brad.king@kitware.com> | 2023-05-18 13:20:51 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-05-18 13:21:01 (GMT) |
commit | fed7b2f20e31598d2bdb27510c92bc05bab49739 (patch) | |
tree | 22b8eea09837fc2d63a33685195ca25a0e33e27b | |
parent | 0897d4438f39787e29b796500af52369279c9ecd (diff) | |
parent | 7cd982faf4b7ba9dba9b8ca33fd0f0b83207cd3b (diff) | |
download | CMake-fed7b2f20e31598d2bdb27510c92bc05bab49739.zip CMake-fed7b2f20e31598d2bdb27510c92bc05bab49739.tar.gz CMake-fed7b2f20e31598d2bdb27510c92bc05bab49739.tar.bz2 |
Merge topic 'iar-add-support-avr-8101'
7cd982faf4 IAR: Added support for IAR C/C++ Compiler for Microchip AVR 8.10+
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8481
-rw-r--r-- | Modules/CMakeFindBinUtils.cmake | 15 | ||||
-rw-r--r-- | Modules/Compiler/IAR-C.cmake | 2 | ||||
-rw-r--r-- | Modules/Compiler/IAR-CXX.cmake | 2 |
3 files changed, 12 insertions, 7 deletions
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake index 10e8ff3..604d25c 100644 --- a/Modules/CMakeFindBinUtils.cmake +++ b/Modules/CMakeFindBinUtils.cmake @@ -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) diff --git a/Modules/Compiler/IAR-C.cmake b/Modules/Compiler/IAR-C.cmake index 0ef1a2a..c4907c5 100644 --- a/Modules/Compiler/IAR-C.cmake +++ b/Modules/Compiler/IAR-C.cmake @@ -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") diff --git a/Modules/Compiler/IAR-CXX.cmake b/Modules/Compiler/IAR-CXX.cmake index cea5e7e..b598e36 100644 --- a/Modules/Compiler/IAR-CXX.cmake +++ b/Modules/Compiler/IAR-CXX.cmake @@ -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") |