Extend the IAR CMake support to handle more of their compilers
In the current (\Modules\Compiler) cmake files for IAR, ARM and AVR are supported pretty much hard coded to these specific compilers. A better way to do this would be to distinguish between the two types of compilers that IAR offer, i.e. compilers using Elf/Dwarf as object file format and others using the IAR internal format UBROF. IAR base all their compilers on a common compiler platform meaning that most compiler options are common for all their supported platforms. The big difference, like between ARM and AVR, is in which object file format is being used; a consequence of this is that two different linkers are used; ILINK is the name of the linker used for Elf/Dwarf based compilers like ARM, Renesas RX, RH850, SH and RL78 and XLINK is the name of the linker used for UBROF compilers like AVR, MSP430, AVR, V850, etc.
When I look in the file IAR.cmake I think everything in it would work for other IAR compilers except that string match for "ARM" is used and variable names have "ARM" in them. If I look in IAR-C.cmake I see that specific ARM release versions are matched to determine C90 versus C11 and this needs to be done for their other compilers as well unless you specify that with a variable instead. Only ARM has C11 support today and the rest have C90 but more compilers will probably get C11 support soon. For AVR, the things that differ between UBROF compilers is CMAKE_C_OUTPUT_EXTENSION which is .r90 for AVR and .r85 for V850, etc.
I did a simple test by adapting the current \Modules\Compiler\ cmake files and CMakePlatformId.h.in (v3.92) for IAR for the Renesas RX compiler and it worked! However, this was just a quick test basically replacing "ARM" with "RX".
Could you consider adding official support for more IAR compilers? RX, RL78, RH850 and MSP430 are high on my list. I would be happy to assist you with my knowledge about IAR compilers.