mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
Merge topic 'iar-binutils'
01a4eec446 IAR: Changes required for Linux
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3262
This commit is contained in:
@@ -2,7 +2,7 @@ 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 Clang itself
|
||||
# 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)
|
||||
|
||||
@@ -12,20 +12,23 @@ 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")
|
||||
# could allow using normal binutils ar, since objects are normal ELF files?
|
||||
find_program(CMAKE_IAR_LINKER ilink${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}.exe HINTS ${__iar_hints}
|
||||
|
||||
string(TOLOWER "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" _archid_lower)
|
||||
|
||||
# Find linker
|
||||
find_program(CMAKE_IAR_LINKER ilink${_archid_lower} HINTS ${__iar_hints}
|
||||
DOC "The IAR ILINK linker")
|
||||
find_program(CMAKE_IAR_ARCHIVE iarchive.exe HINTS ${__iar_hints}
|
||||
find_program(CMAKE_IAR_ARCHIVE iarchive HINTS ${__iar_hints}
|
||||
DOC "The IAR archiver")
|
||||
|
||||
# find auxiliary tools
|
||||
find_program(CMAKE_IAR_ELFTOOL ielftool.exe HINTS ${__iar_hints}
|
||||
# Find utility tools
|
||||
find_program(CMAKE_IAR_ELFTOOL ielftool HINTS ${__iar_hints}
|
||||
DOC "The IAR ELF Tool")
|
||||
find_program(CMAKE_IAR_ELFDUMP ielfdump${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}.exe HINTS ${__iar_hints}
|
||||
find_program(CMAKE_IAR_ELFDUMP ielfdump${_archid_lower} HINTS ${__iar_hints}
|
||||
DOC "The IAR ELF Dumper")
|
||||
find_program(CMAKE_IAR_OBJMANIP iobjmanip.exe HINTS ${__iar_hints}
|
||||
find_program(CMAKE_IAR_OBJMANIP iobjmanip HINTS ${__iar_hints}
|
||||
DOC "The IAR ELF Object Tool")
|
||||
find_program(CMAKE_IAR_SYMEXPORT isymexport.exe HINTS ${__iar_hints}
|
||||
find_program(CMAKE_IAR_SYMEXPORT 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)
|
||||
|
||||
@@ -41,9 +44,9 @@ set(CMAKE_IAR_LINKER \"${CMAKE_IAR_LINKER}\")
|
||||
elseif("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
|
||||
|
||||
# For AVR and AVR32, IAR uses the "xlink" linker and the "xar" archiver:
|
||||
find_program(CMAKE_IAR_LINKER xlink.exe HINTS ${__iar_hints}
|
||||
find_program(CMAKE_IAR_LINKER xlink HINTS ${__iar_hints}
|
||||
DOC "The IAR XLINK linker")
|
||||
find_program(CMAKE_IAR_AR xar.exe HINTS ${__iar_hints}
|
||||
find_program(CMAKE_IAR_AR xar HINTS ${__iar_hints}
|
||||
DOC "The IAR archiver")
|
||||
mark_as_advanced(CMAKE_IAR_LINKER CMAKE_IAR_AR)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user