1# This file is processed when the IAR Assembler is used 2 3include(Compiler/IAR) 4 5cmake_policy(PUSH) 6cmake_policy(SET CMP0057 NEW) # if IN_LIST 7 8set(_CMAKE_IAR_ITOOLS "ARM" "RH850" "RL78" "RX" "RISC-V" "STM8") 9set(_CMAKE_IAR_XTOOLS "AVR" "MSP430" "V850" "8051") 10 11set(_CMAKE_IAR_ASM_SILENT "RH850" "RL78" "RX" "RISC-V" "STM8") 12if("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_ASM_SILENT) 13 set(_CMAKE_IAR_SILENCER_FLAG " --silent") 14else() 15 set(_CMAKE_IAR_SILENCER_FLAG " -S") 16endif() 17 18string(APPEND CMAKE_ASM_FLAGS_INIT " ") 19string(APPEND CMAKE_ASM_FLAGS_DEBUG_INIT " -r") 20string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -DNDEBUG") 21string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -DNDEBUG") 22string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -r -DNDEBUG") 23 24set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> ${_CMAKE_IAR_SILENCER_FLAG} <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>") 25 26if("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_ITOOLS) 27 __compiler_iar_ilink(ASM) 28 set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;asm;msa;S) 29 30elseif("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_XTOOLS) 31 __compiler_iar_xlink(ASM) 32 # AVR=s90, MSP430=s43, V850=s85, 8051=s51 33 set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;s43;s85;s51;asm;msa) 34 35else() 36 message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID not detected. This should be automatic.") 37 38endif() 39 40unset(_CMAKE_IAR_ITOOLS) 41unset(_CMAKE_IAR_XTOOLS) 42unset(_CMAKE_IAR_ASM_SILENT) 43unset(_CMAKE_IAR_SILENCER_FLAG) 44 45cmake_policy(POP) 46