| # This file is processed when the IAR Assembler is used |
| |
| include(Compiler/IAR) |
| |
| cmake_policy(PUSH) |
| cmake_policy(SET CMP0057 NEW) # if IN_LIST |
| |
| set(_CMAKE_IAR_ITOOLS "ARM" "RH850" "RL78" "RX" "RISC-V" "STM8") |
| set(_CMAKE_IAR_XTOOLS "AVR" "MSP430" "V850" "8051") |
| |
| set(_CMAKE_IAR_ASM_SILENT "RH850" "RL78" "RX" "RISC-V" "STM8") |
| if("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_ASM_SILENT) |
| set(_CMAKE_IAR_SILENCER_FLAG " --silent") |
| else() |
| set(_CMAKE_IAR_SILENCER_FLAG " -S") |
| endif() |
| |
| string(APPEND CMAKE_ASM_FLAGS_INIT " ") |
| string(APPEND CMAKE_ASM_FLAGS_DEBUG_INIT " -r") |
| string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -DNDEBUG") |
| string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -DNDEBUG") |
| string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -r -DNDEBUG") |
| |
| set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> ${_CMAKE_IAR_SILENCER_FLAG} <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>") |
| |
| if("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_ITOOLS) |
| __compiler_iar_ilink(ASM) |
| set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;asm;msa;S) |
| |
| elseif("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_XTOOLS) |
| __compiler_iar_xlink(ASM) |
| # AVR=s90, MSP430=s43, V850=s85, 8051=s51 |
| set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;s43;s85;s51;asm;msa) |
| |
| else() |
| message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID not detected. This should be automatic.") |
| |
| endif() |
| |
| unset(_CMAKE_IAR_ITOOLS) |
| unset(_CMAKE_IAR_XTOOLS) |
| unset(_CMAKE_IAR_ASM_SILENT) |
| unset(_CMAKE_IAR_SILENCER_FLAG) |
| |
| cmake_policy(POP) |