kendryte-freertos-sdk/cmake/toolchain.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 ()