summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Modules/CMakeCCompilerId.c4
-rw-r--r--Modules/CMakeDetermineCCompiler.cmake1
-rw-r--r--Modules/TestBigEndian.cmake4
3 files changed, 9 insertions, 0 deletions
diff --git a/Modules/CMakeCCompilerId.c b/Modules/CMakeCCompilerId.c
index ae9e188fcf..e5250f61eb 100644
--- a/Modules/CMakeCCompilerId.c
+++ b/Modules/CMakeCCompilerId.c
@@ -33,6 +33,10 @@
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
+/*IAR Systems compiler for embedded systems, beside this id not yet supported*/
+#elif defined(__IAR_SYSTEMS_ICC__)
+# define COMPILER_ID "IAR"
+
#elif defined(_COMPILER_VERSION)
# define COMPILER_ID "MIPSpro"
diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake
index b3c7c6cfaa..9e68b80d14 100644
--- a/Modules/CMakeDetermineCCompiler.cmake
+++ b/Modules/CMakeDetermineCCompiler.cmake
@@ -97,6 +97,7 @@ ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
# if we have a MS cross compiler, it usually has a suffix, like
# e.g. clarm.exe or clmips.exe. Use this suffix for the CXX compiler too.
+# the same is true e.g. for the IAR cross compiler, which is "icc<suffix>"
IF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
IF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
diff --git a/Modules/TestBigEndian.cmake b/Modules/TestBigEndian.cmake
index 021b9a67cd..b1a65bf26b 100644
--- a/Modules/TestBigEndian.cmake
+++ b/Modules/TestBigEndian.cmake
@@ -5,6 +5,8 @@
#
MACRO(TEST_BIG_ENDIAN VARIABLE)
+ SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1)
+ IF(NOT DEFINED ${VARIABLE})
IF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
TRY_RUN(${VARIABLE} HAVE_${VARIABLE}
${CMAKE_BINARY_DIR}
@@ -34,4 +36,6 @@ MACRO(TEST_BIG_ENDIAN VARIABLE)
MESSAGE("Check if the system is big endian - failed")
ENDIF(HAVE_${VARIABLE})
ENDIF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ ENDIF(NOT DEFINED ${VARIABLE})
+ SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS)
ENDMACRO(TEST_BIG_ENDIAN)