Gyorgy Szing | 30fa987 | 2017-12-05 01:08:47 +0000 | [diff] [blame] | 1 | #------------------------------------------------------------------------------- |
Mate Toth-Pal | 7686726 | 2018-03-09 13:15:36 +0100 | [diff] [blame^] | 2 | # Copyright (c) 2017-2018, Arm Limited. All rights reserved. |
Gyorgy Szing | 30fa987 | 2017-12-05 01:08:47 +0000 | [diff] [blame] | 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | #------------------------------------------------------------------------------- |
| 7 | |
| 8 | #Built in compiler identification does not work for embedded targets, so |
| 9 | #override it here. |
| 10 | |
| 11 | #Stop built in CMakeDetermine<lang>.cmake scripts to run. |
| 12 | set (CMAKE_CXX_COMPILER_ID_RUN 1) |
| 13 | #Stop cmake run compiler tests. |
| 14 | set (CMAKE_CXX_COMPILER_FORCED true) |
| 15 | |
| 16 | if(NOT DEFINED CMAKE_CXX_COMPILER) |
| 17 | message(FATAL_ERROR "Please set CMAKE_CXX_COMPILER to hold the full path \ |
| 18 | of your compiler executable") |
| 19 | endif(NOT DEFINED CMAKE_CXX_COMPILER) |
| 20 | |
| 21 | get_filename_component(_CXX_COMPILER_NAME ${CMAKE_CXX_COMPILER} NAME) |
| 22 | |
| 23 | if (_CXX_COMPILER_NAME MATCHES "^.*armclang(\\.exe)?$") |
| 24 | set(CMAKE_CXX_COMPILER_ID "ARMCLANG" CACHE INTERNAL "C++ compiler ID" FORCE) |
| 25 | set(ARM_TOOLCHAIN_FILE "Compiler/ARMClang-CXX") |
| 26 | elseif (_CXX_COMPILER_NAME MATCHES "^.*gcc(\\.exe)?$") |
Mate Toth-Pal | 7686726 | 2018-03-09 13:15:36 +0100 | [diff] [blame^] | 27 | set(CMAKE_CXX_COMPILER_ID "GNUARM" CACHE INTERNAL "C++ compiler ID" FORCE) |
| 28 | set(ARM_TOOLCHAIN_FILE "Compiler/GNUARM-CXX") |
Gyorgy Szing | 30fa987 | 2017-12-05 01:08:47 +0000 | [diff] [blame] | 29 | elseif (_CXX_COMPILER_NAME MATCHES "^.*iccarm(\\.exe)?$") |
| 30 | set(CMAKE_CXX_COMPILER_ID "IAR" CACHE INTERNAL "C++ compiler ID" FORCE) |
| 31 | set(ARM_TOOLCHAIN_FILE "Compiler/IAR-CXX") |
| 32 | else() |
| 33 | message(FATAL_ERROR "C++ Compiler executable ${_C_COMPILER_NAME} is \ |
| 34 | unknown. Please add needed settings to ${CMAKE_CURRENT_LIST_FILE}") |
| 35 | endif () |
| 36 | |
| 37 | include(${ARM_TOOLCHAIN_FILE}) |
| 38 | |