mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-20 06:48:38 -05:00
IAR: Detect compiler platform version
`__IAR_SYSTEMS_ICC__` provides additional version information that we need to determine correct usage of the compiler. Extract and store it as `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL`. Issue: #17264
This commit is contained in:
committed by
Brad King
parent
b96ca728f1
commit
1bdb8cd247
@@ -2,8 +2,10 @@
|
|||||||
# http://www.iar.com
|
# http://www.iar.com
|
||||||
# http://supp.iar.com/FilesPublic/UPDINFO/004916/arm/doc/EWARM_DevelopmentGuide.ENU.pdf
|
# http://supp.iar.com/FilesPublic/UPDINFO/004916/arm/doc/EWARM_DevelopmentGuide.ENU.pdf
|
||||||
#
|
#
|
||||||
# __IAR_SYSTEMS_ICC__ An integer that identifies the IAR compiler platform. The current value is 8. Note that
|
# __IAR_SYSTEMS_ICC__ An integer that identifies the IAR compiler platform:
|
||||||
# the number could be higher in a future version of the product
|
# 9 and higher means C11 and C++14 as language default
|
||||||
|
# 8 means C99 and C++03 as language default
|
||||||
|
# 7 and lower means C89 and EC++ as language default.
|
||||||
# __ICCARM__ An integer that is set to 1 when the code is compiled with the IAR C/C++ Compiler for ARM
|
# __ICCARM__ An integer that is set to 1 when the code is compiled with the IAR C/C++ Compiler for ARM
|
||||||
# __VER__ An integer that identifies the version number of the IAR compiler in use. For example,
|
# __VER__ An integer that identifies the version number of the IAR compiler in use. For example,
|
||||||
# version 5.11.3 is returned as 5011003.
|
# version 5.11.3 is returned as 5011003.
|
||||||
@@ -15,4 +17,5 @@ set(_compiler_id_version_compute "
|
|||||||
# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@((__VER__) / 1000000)
|
# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@((__VER__) / 1000000)
|
||||||
# define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(((__VER__) / 1000) % 1000)
|
# define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(((__VER__) / 1000) % 1000)
|
||||||
# define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@((__VER__) % 1000)
|
# define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@((__VER__) % 1000)
|
||||||
|
# define @PREFIX@COMPILER_VERSION_INTERNAL @MACRO_DEC@(__IAR_SYSTEMS_ICC__)
|
||||||
# endif")
|
# endif")
|
||||||
|
|||||||
Reference in New Issue
Block a user