IAR: Restore support for CMAKE_CXX_FLAGS_INIT

Prior to commit a9073db736 (IAR: update language specification
detection, 2021-09-23, v3.22.0-rc1~83^2) the `--c++`/`--eec++` flags
were stored in `CMAKE_IAR_CXX_FLAG` so that they would be used as part
of the `CMAKE_CXX_COMPILE_OBJECT` rule variable.  That commit moved the
flags to `CMAKE_CXX_FLAGS`, which also broke initialization of
`CMAKE_CXX_FLAGS` from `CMAKE_CXX_FLAGS_INIT`.  Restore the original
approach.

Fixes: #24111
This commit is contained in:
Daniel Schürmann
2022-11-01 16:04:54 +01:00
committed by Brad King
parent b45f9b3643
commit 73e84a392b

View File

@@ -22,9 +22,9 @@ if(NOT CMAKE_IAR_CXX_FLAG)
set(_CMAKE_IAR_MODERNCXX_LIST 14 17)
if(${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT} IN_LIST _CMAKE_IAR_MODERNCXX_LIST OR
("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM" AND ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT} EQUAL 98))
string(PREPEND CMAKE_CXX_FLAGS "--c++ ")
set(CMAKE_IAR_CXX_FLAG --c++)
else()
string(PREPEND CMAKE_CXX_FLAGS "--eec++ ")
set(CMAKE_IAR_CXX_FLAG --eec++)
endif()
unset(_CMAKE_IAR_MODERNCXX_LIST)