cmake/Modules/Compiler/IAR-ASM.cmake

46 lines
1.5 KiB
CMake
Raw Normal View History

2021-11-20 13:41:27 +01:00
# This file is processed when the IAR Assembler is used
2013-11-03 12:27:13 +02:00
include(Compiler/IAR)
2021-11-20 13:41:27 +01:00
cmake_policy(PUSH)
cmake_policy(SET CMP0057 NEW) # if IN_LIST
2019-11-11 23:01:05 +01:00
2021-11-20 13:41:27 +01:00
set(_CMAKE_IAR_ITOOLS "ARM" "RH850" "RL78" "RX" "RISC-V" "STM8")
set(_CMAKE_IAR_XTOOLS "AVR" "MSP430" "V850" "8051")
2019-11-11 23:01:05 +01:00
2021-11-20 13:41:27 +01:00
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()
2013-11-03 12:27:13 +02:00
2021-11-20 13:41:27 +01:00
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")
2018-01-26 17:06:56 +01:00
2021-11-20 13:41:27 +01:00
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> ${_CMAKE_IAR_SILENCER_FLAG} <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
2019-11-11 23:01:05 +01:00
2021-11-20 13:41:27 +01:00
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)
2020-02-01 23:06:01 +01:00
2021-11-20 13:41:27 +01:00
elseif("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" IN_LIST _CMAKE_IAR_XTOOLS)
2020-02-01 23:06:01 +01:00
__compiler_iar_xlink(ASM)
2021-11-20 13:41:27 +01:00
# AVR=s90, MSP430=s43, V850=s85, 8051=s51
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;s43;s85;s51;asm;msa)
2021-09-14 00:13:48 +02:00
2018-10-28 12:09:07 +01:00
else()
2019-11-11 23:01:05 +01:00
message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID not detected. This should be automatic.")
2021-11-20 13:41:27 +01:00
2013-11-03 12:27:13 +02:00
endif()
2021-11-20 13:41:27 +01:00
unset(_CMAKE_IAR_ITOOLS)
unset(_CMAKE_IAR_XTOOLS)
unset(_CMAKE_IAR_ASM_SILENT)
unset(_CMAKE_IAR_SILENCER_FLAG)
cmake_policy(POP)