45 lines
1.8 KiB
CMake
45 lines
1.8 KiB
CMake
if (NOT TOOLCHAIN)
|
|
message(FATAL_ERROR "TOOLCHAIN must be set, to absolute path of kendryte-toolchain dist/bin folder.")
|
|
endif ()
|
|
|
|
if (WIN32)
|
|
set(EXT ".exe")
|
|
else ()
|
|
set(EXT "")
|
|
endif ()
|
|
|
|
message(STATUS "Check for RISCV toolchain ...")
|
|
|
|
IF("${TOOLCHAIN}" STREQUAL "")
|
|
message(STATUS "Using default RISCV toolchain")
|
|
|
|
global_set(CMAKE_C_COMPILER "riscv64-unknown-elf-gcc${EXT}")
|
|
global_set(CMAKE_CXX_COMPILER "riscv64-unknown-elf-g++${EXT}")
|
|
global_set(CMAKE_LINKER "riscv64-unknown-elf-ld${EXT}")
|
|
global_set(CMAKE_AR "riscv64-unknown-elf-ar${EXT}")
|
|
global_set(CMAKE_OBJCOPY "riscv64-unknown-elf-objcopy${EXT}")
|
|
global_set(CMAKE_SIZE "riscv64-unknown-elf-size${EXT}")
|
|
global_set(CMAKE_OBJDUMP "riscv64-unknown-elf-objdump${EXT}")
|
|
ELSE()
|
|
message(STATUS "Using ${TOOLCHAIN} RISCV toolchain")
|
|
|
|
global_set(CMAKE_C_COMPILER "${TOOLCHAIN}/riscv64-unknown-elf-gcc${EXT}")
|
|
global_set(CMAKE_CXX_COMPILER "${TOOLCHAIN}/riscv64-unknown-elf-g++${EXT}")
|
|
global_set(CMAKE_LINKER "${TOOLCHAIN}/riscv64-unknown-elf-ld${EXT}")
|
|
global_set(CMAKE_AR "${TOOLCHAIN}/riscv64-unknown-elf-ar${EXT}")
|
|
global_set(CMAKE_OBJCOPY "${TOOLCHAIN}/riscv64-unknown-elf-objcopy${EXT}")
|
|
global_set(CMAKE_SIZE "${TOOLCHAIN}/riscv64-unknown-elf-size${EXT}")
|
|
global_set(CMAKE_OBJDUMP "${TOOLCHAIN}/riscv64-unknown-elf-objdump${EXT}")
|
|
ENDIF()
|
|
|
|
if (CMAKE_MAKE_PROGRAM)
|
|
global_set(_TC_MAKE "${CMAKE_MAKE_PROGRAM}")
|
|
endif()
|
|
|
|
get_filename_component(_BIN_DIR "${CMAKE_C_COMPILER}" DIRECTORY)
|
|
if (NOT "${TOOLCHAIN}" STREQUAL "${_BIN_DIR}" AND NOT "${TOOLCHAIN}" STREQUAL "${_BIN_DIR}/")
|
|
message("TOOLCHAIN is [${TOOLCHAIN}]")
|
|
message("_BIN_DIR is [${_BIN_DIR}]")
|
|
message(WARNING "CMAKE_C_COMPILER is not in kendryte-toolchain dist/bin folder.")
|
|
endif ()
|