stm32armavrcortex-mrisc-v8051buildc-spycmakectestmsp430nxprh850rl78rxsifivestm8testtest-automationv850
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.6 KiB
51 lines
1.6 KiB
# Toolchain File for the IAR C/C++ Compiler
|
|
|
|
# Action: Set the `TOOLKIT` variable
|
|
# Examples: arm, riscv, rh850, rl78, rx, stm8, 430, 8051, avr or v850
|
|
# Alternative: override the default TOOLKIT_DIR (/path/to/installation/<arch>)
|
|
set(TOOLKIT arm)
|
|
|
|
# Get the toolchain target from the TOOLKIT
|
|
get_filename_component(CMAKE_SYSTEM_PROCESSOR ${TOOLKIT} NAME)
|
|
|
|
# Set CMake for cross-compiling
|
|
set(CMAKE_SYSTEM_NAME Generic)
|
|
|
|
# IAR C Compiler
|
|
find_program(CMAKE_C_COMPILER
|
|
NAMES icc${CMAKE_SYSTEM_PROCESSOR}
|
|
PATHS ${TOOLKIT}
|
|
"$ENV{ProgramFiles}/IAR Systems/*"
|
|
"$ENV{ProgramFiles\(x86\)}/IAR Systems/*"
|
|
/opt/iarsystems/bx${CMAKE_SYSTEM_PROCESSOR}
|
|
PATH_SUFFIXES bin ${CMAKE_SYSTEM_PROCESSOR}/bin
|
|
REQUIRED )
|
|
|
|
# IAR C++ Compiler
|
|
find_program(CMAKE_CXX_COMPILER
|
|
NAMES icc${CMAKE_SYSTEM_PROCESSOR}
|
|
PATHS ${TOOLKIT}
|
|
"$ENV{PROGRAMFILES}/IAR Systems/*"
|
|
"$ENV{ProgramFiles\(x86\)}/IAR Systems/*"
|
|
/opt/iarsystems/bx${CMAKE_SYSTEM_PROCESSOR}
|
|
PATH_SUFFIXES bin ${CMAKE_SYSTEM_PROCESSOR}/bin
|
|
REQUIRED )
|
|
|
|
# IAR Assembler
|
|
find_program(CMAKE_ASM_COMPILER
|
|
NAMES iasm${CMAKE_SYSTEM_PROCESSOR} a${CMAKE_SYSTEM_PROCESSOR}
|
|
PATHS ${TOOLKIT}
|
|
"$ENV{PROGRAMFILES}/IAR Systems/*"
|
|
"$ENV{ProgramFiles\(x86\)}/IAR Systems/*"
|
|
/opt/iarsystems/bx${CMAKE_SYSTEM_PROCESSOR}
|
|
PATH_SUFFIXES bin ${CMAKE_SYSTEM_PROCESSOR}/bin
|
|
REQUIRED )
|
|
|
|
# Avoids running the linker during try_compile()
|
|
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
|
|
|
# Set the TOOLKIT_DIR variable for the CMakeLists
|
|
get_filename_component(BIN_DIR ${CMAKE_C_COMPILER} DIRECTORY)
|
|
get_filename_component(TOOLKIT_DIR ${BIN_DIR} PATH)
|
|
unset(BIN_DIR)
|
|
|
|
|