blob: 6d1f142bfd712e7d2cd002ff99995e68387cf8aa [file] [log] [blame]
Gyorgy Szing30fa9872017-12-05 01:08:47 +00001#-------------------------------------------------------------------------------
Mate Toth-Pal76867262018-03-09 13:15:36 +01002# Copyright (c) 2017-2018, Arm Limited. All rights reserved.
Gyorgy Szing30fa9872017-12-05 01:08:47 +00003#
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.
12set (CMAKE_CXX_COMPILER_ID_RUN 1)
13#Stop cmake run compiler tests.
14set (CMAKE_CXX_COMPILER_FORCED true)
15
16if(NOT DEFINED CMAKE_CXX_COMPILER)
17 message(FATAL_ERROR "Please set CMAKE_CXX_COMPILER to hold the full path \
18of your compiler executable")
19endif(NOT DEFINED CMAKE_CXX_COMPILER)
20
21get_filename_component(_CXX_COMPILER_NAME ${CMAKE_CXX_COMPILER} NAME)
22
23if (_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")
26elseif (_CXX_COMPILER_NAME MATCHES "^.*gcc(\\.exe)?$")
Mate Toth-Pal76867262018-03-09 13:15:36 +010027 set(CMAKE_CXX_COMPILER_ID "GNUARM" CACHE INTERNAL "C++ compiler ID" FORCE)
28 set(ARM_TOOLCHAIN_FILE "Compiler/GNUARM-CXX")
Gyorgy Szing30fa9872017-12-05 01:08:47 +000029elseif (_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")
32else()
33 message(FATAL_ERROR "C++ Compiler executable ${_C_COMPILER_NAME} is \
34unknown. Please add needed settings to ${CMAKE_CURRENT_LIST_FILE}")
35endif ()
36
37include(${ARM_TOOLCHAIN_FILE})
38