From a51e01f2ecd0667223922fed6c3dc6a2092e5f59 Mon Sep 17 00:00:00 2001 From: Felipe Torrezan Date: Sun, 27 Nov 2022 12:14:45 +0100 Subject: IAR: Add response flag for files --- Modules/Compiler/IAR.cmake | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/Modules/Compiler/IAR.cmake b/Modules/Compiler/IAR.cmake index 53456f5..7908f96 100644 --- a/Modules/Compiler/IAR.cmake +++ b/Modules/Compiler/IAR.cmake @@ -8,54 +8,48 @@ # include_guard() -macro(__compiler_iar_ilink lang) - set(CMAKE_EXECUTABLE_SUFFIX ".elf") - set(CMAKE_${lang}_OUTPUT_EXTENSION ".o") - if (${lang} STREQUAL "C" OR ${lang} STREQUAL "CXX") +macro(__compiler_iar_common lang) + if (${lang} MATCHES "^(C|CXX)$") set(CMAKE_${lang}_COMPILE_OBJECT " ${CMAKE_IAR_${lang}_FLAG} --silent -o ") set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE " ${CMAKE_IAR_${lang}_FLAG} --silent --preprocess=cnl ") set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE " ${CMAKE_IAR_${lang}_FLAG} --silent -lAH -o .dummy") - set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-f ") set(CMAKE_DEPFILE_FLAGS_${lang} "--dependencies=ns ") string(APPEND CMAKE_${lang}_FLAGS_INIT " ") string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -r") - string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Ohz -DNDEBUG") string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Oh -DNDEBUG") + string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Ohz -DNDEBUG") string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -Oh -r -DNDEBUG") endif() + set(CMAKE_${lang}_RESPONSE_FILE_FLAG "-f ") + set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-f ") + + set(CMAKE_${lang}_ARCHIVE_FINISH "") +endmacro() + +macro(__compiler_iar_ilink lang) + set(CMAKE_EXECUTABLE_SUFFIX ".elf") + set(CMAKE_${lang}_OUTPUT_EXTENSION ".o") + + __compiler_iar_common(${lang}) + set(CMAKE_${lang}_LINK_EXECUTABLE " --silent -o ") set(CMAKE_${lang}_CREATE_STATIC_LIBRARY " --create ") set(CMAKE_${lang}_ARCHIVE_CREATE " --create ") set(CMAKE_${lang}_ARCHIVE_APPEND " --replace ") - set(CMAKE_${lang}_ARCHIVE_FINISH "") endmacro() macro(__compiler_iar_xlink lang) set(CMAKE_EXECUTABLE_SUFFIX ".bin") - if (${lang} STREQUAL "C" OR ${lang} STREQUAL "CXX") - - set(CMAKE_${lang}_COMPILE_OBJECT " ${CMAKE_IAR_${lang}_FLAG} --silent -o ") - set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE " ${CMAKE_IAR_${lang}_FLAG} --silent --preprocess=cnl ") - set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE " ${CMAKE_IAR_${lang}_FLAG} --silent -lAH -o .dummy") - - set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-f ") - set(CMAKE_DEPFILE_FLAGS_${lang} "--dependencies=ns ") - string(APPEND CMAKE_${lang}_FLAGS_INIT " ") - string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -r") - string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Ohz -DNDEBUG") - string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Oh -DNDEBUG") - string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -Oh -r -DNDEBUG") - endif() + __compiler_iar_common(${lang}) set(CMAKE_${lang}_LINK_EXECUTABLE " -S -o ") set(CMAKE_${lang}_CREATE_STATIC_LIBRARY " ") set(CMAKE_${lang}_ARCHIVE_CREATE " ") set(CMAKE_${lang}_ARCHIVE_APPEND "") - set(CMAKE_${lang}_ARCHIVE_FINISH "") set(CMAKE_LIBRARY_PATH_FLAG "-I") endmacro() -- cgit v0.12