Browse Source

Merge topic 'iar-fail-early'

a26ebb894b IAR: Abort if compiler version or target architecture is not detected

Acked-by: Kitware Robot <[email protected]>
Merge-request: !2353
Brad King 7 years ago
parent
commit
528d7625b8
3 changed files with 14 additions and 0 deletions
  1. 2 0
      Modules/Compiler/IAR-ASM.cmake
  2. 6 0
      Modules/Compiler/IAR-C.cmake
  3. 6 0
      Modules/Compiler/IAR-CXX.cmake

+ 2 - 0
Modules/Compiler/IAR-ASM.cmake

@@ -18,4 +18,6 @@ elseif("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
   __compiler_iar_AVR(ASM)
   set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;asm;msa)
 
+else()
+  message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID not detected as \"AVR\" or \"ARM\".  This should be automatic.")
 endif()

+ 6 - 0
Modules/Compiler/IAR-C.cmake

@@ -5,6 +5,9 @@ include(Compiler/CMakeCommonCompilerMacros)
 
 # The toolchains for ARM and AVR are quite different:
 if("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM")
+  if(NOT CMAKE_C_COMPILER_VERSION)
+    message(FATAL_ERROR "CMAKE_C_COMPILER_VERSION not detected.  This should be automatic.")
+  endif()
 
   set(CMAKE_C_EXTENSION_COMPILE_OPTION -e)
 
@@ -40,4 +43,7 @@ elseif("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
   get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
   get_filename_component(_compilerDir "${_compilerDir}" PATH)
   include_directories("${_compilerDir}/inc" )
+
+else()
+  message(FATAL_ERROR "CMAKE_C_COMPILER_ARCHITECTURE_ID not detected as \"AVR\" or \"ARM\".  This should be automatic.")
 endif()

+ 6 - 0
Modules/Compiler/IAR-CXX.cmake

@@ -10,6 +10,9 @@ if("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM")
   #
   # --c++ is full C++ and supported since 6.10
   if(NOT CMAKE_IAR_CXX_FLAG)
+    if(NOT CMAKE_CXX_COMPILER_VERSION)
+      message(FATAL_ERROR "CMAKE_CXX_COMPILER_VERSION not detected.  This should be automatic.")
+    endif()
     if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.10)
       set(CMAKE_IAR_CXX_FLAG --c++)
     else()
@@ -48,4 +51,7 @@ elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
   get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
   get_filename_component(_compilerDir "${_compilerDir}" PATH)
   include_directories("${_compilerDir}/inc")
+
+else()
+  message(FATAL_ERROR "CMAKE_CXX_COMPILER_ARCHITECTURE_ID not detected as \"AVR\" or \"ARM\".  This should be automatic." )
 endif()