|
@@ -1,80 +0,0 @@
|
|
-if(NOT DEFINED _CMAKE_PROCESSING_LANGUAGE OR _CMAKE_PROCESSING_LANGUAGE STREQUAL "")
|
|
|
|
- message(FATAL_ERROR "Internal error: _CMAKE_PROCESSING_LANGUAGE is not set")
|
|
|
|
-endif()
|
|
|
|
-
|
|
|
|
-# Try to find tools in the same directory as the compiler itself
|
|
|
|
-get_filename_component(__iar_hint_1 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" REALPATH)
|
|
|
|
-get_filename_component(__iar_hint_1 "${__iar_hint_1}" DIRECTORY)
|
|
|
|
-
|
|
|
|
-get_filename_component(__iar_hint_2 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" DIRECTORY)
|
|
|
|
-
|
|
|
|
-set(__iar_hints "${__iar_hint_1}" "${__iar_hint_2}")
|
|
|
|
-
|
|
|
|
-if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "RX" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "RH850" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "RL78" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "RISCV" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "STM8")
|
|
|
|
-
|
|
|
|
- string(TOLOWER "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" _archid_lower)
|
|
|
|
-
|
|
|
|
- # Find linker
|
|
|
|
- find_program(CMAKE_IAR_LINKER
|
|
|
|
- NAMES ilink${_archid_lower} ilink${_archid_lower}.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR ILINK linker")
|
|
|
|
- find_program(CMAKE_IAR_ARCHIVE
|
|
|
|
- NAMES iarchive iarchive.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR archiver")
|
|
|
|
-
|
|
|
|
- # Find utility tools
|
|
|
|
- find_program(CMAKE_IAR_ELFTOOL
|
|
|
|
- NAMES ielftool ielftool.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR ELF Tool")
|
|
|
|
- find_program(CMAKE_IAR_ELFDUMP
|
|
|
|
- NAMES ielfdump${_archid_lower} ielfdump${_archid_lower}.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR ELF Dumper")
|
|
|
|
- find_program(CMAKE_IAR_OBJMANIP
|
|
|
|
- NAMES iobjmanip iobjmanip.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR ELF Object Tool")
|
|
|
|
- find_program(CMAKE_IAR_SYMEXPORT
|
|
|
|
- NAMES isymexport
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR Absolute Symbol Exporter")
|
|
|
|
- mark_as_advanced(CMAKE_IAR_LINKER CMAKE_IAR_ARCHIVE CMAKE_IAR_ELFTOOL CMAKE_IAR_ELFDUMP CMAKE_IAR_OBJMANIP CMAKE_IAR_SYMEXPORT)
|
|
|
|
-
|
|
|
|
- set(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_CUSTOM_CODE
|
|
|
|
-"set(CMAKE_IAR_LINKER \"${CMAKE_IAR_LINKER}\")
|
|
|
|
-set(CMAKE_IAR_ARCHIVE \"${CMAKE_IAR_ARCHIVE}\")
|
|
|
|
-set(CMAKE_IAR_ELFTOOL \"${CMAKE_IAR_ELFTOOL}\")
|
|
|
|
-set(CMAKE_IAR_ELFDUMP \"${CMAKE_IAR_ELFDUMP}\")
|
|
|
|
-set(CMAKE_IAR_OBJMANIP \"${CMAKE_IAR_OBJMANIP}\")
|
|
|
|
-set(CMAKE_IAR_LINKER \"${CMAKE_IAR_LINKER}\")
|
|
|
|
-")
|
|
|
|
-
|
|
|
|
-elseif("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "MSP430" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "V850" OR
|
|
|
|
- "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "8051")
|
|
|
|
-
|
|
|
|
- # Find the "xlink" linker and "xar" archiver:
|
|
|
|
- find_program(CMAKE_IAR_LINKER
|
|
|
|
- NAMES xlink xlink.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR XLINK linker")
|
|
|
|
- find_program(CMAKE_IAR_AR
|
|
|
|
- NAMES xar xar.exe
|
|
|
|
- HINTS ${__iar_hints}
|
|
|
|
- DOC "The IAR archiver")
|
|
|
|
- mark_as_advanced(CMAKE_IAR_LINKER CMAKE_IAR_AR)
|
|
|
|
-
|
|
|
|
- set(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_CUSTOM_CODE
|
|
|
|
-"set(CMAKE_IAR_LINKER \"${CMAKE_IAR_LINKER}\")
|
|
|
|
-set(CMAKE_IAR_AR \"${CMAKE_IAR_AR}\")
|
|
|
|
-")
|
|
|
|
-endif()
|
|
|