|
| 1 | +# Copyright (c) 2023 SpacemiT. All rights reserved. |
| 2 | +set(CMAKE_SYSTEM_NAME Linux) |
| 3 | +SET(CMAKE_SYSTEM_PROCESSOR riscv64) |
| 4 | +set(CMAKE_SYSTEM_VERSION 1) |
| 5 | + |
| 6 | +if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(riscv)") |
| 7 | +message(STATUS "HOST SYSTEM ${CMAKE_HOST_SYSTEM_PROCESSOR}") |
| 8 | +else() |
| 9 | +set(GNU_MACHINE riscv64-unknown-linux-gnu CACHE STRING "GNU compiler triple") |
| 10 | +if(DEFINED ENV{RISCV_ROOT_PATH}) |
| 11 | + file(TO_CMAKE_PATH $ENV{RISCV_ROOT_PATH} RISCV_ROOT_PATH) |
| 12 | +else() |
| 13 | + message(FATAL_ERROR "RISCV_ROOT_PATH env must be defined") |
| 14 | +endif() |
| 15 | + |
| 16 | +set(RISCV_ROOT_PATH ${RISCV_ROOT_PATH} CACHE STRING "root path to riscv toolchain") |
| 17 | +set(CMAKE_C_COMPILER ${RISCV_ROOT_PATH}/bin/riscv64-unknown-linux-gnu-gcc) |
| 18 | +set(CMAKE_CXX_COMPILER ${RISCV_ROOT_PATH}/bin/riscv64-unknown-linux-gnu-g++) |
| 19 | +set(CMAKE_STRIP ${RISCV_ROOT_PATH}/bin/riscv64-unknown-linux-gnu-strip) |
| 20 | +set(CMAKE_FIND_ROOT_PATH "${RISCV_ROOT_PATH}/riscv64-unknown-linux-gnu") |
| 21 | +set(CMAKE_SYSROOT "${RISCV_ROOT_PATH}/sysroot") |
| 22 | +endif() |
| 23 | + |
| 24 | +if(NOT DEFINED CMAKE_CXX_FLAGS) |
| 25 | + set(CMAKE_CXX_FLAGS "-march=rv64gcv_zfh_zba") |
| 26 | +endif() |
| 27 | + |
| 28 | +if(NOT DEFINED CMAKE_CXX_FLAGS) |
| 29 | + set(CMAKE_C_FLAGS "-march=rv64gcv_zfh_zba") |
| 30 | +endif() |
| 31 | + |
| 32 | +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
| 33 | +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
| 34 | +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |
| 35 | +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) |
| 36 | +set(CMAKE_C_FLAGS "-march=rv64gcv_zfh_zba -latomic -mabi=lp64d ${CMAKE_C_FLAGS}") |
| 37 | +set(CMAKE_CXX_FLAGS "-march=rv64gcv_zfh_zba -latomic -mabi=lp64d ${CXX_FLAGS}") |
| 38 | +add_definitions(-D__fp16=_Float16) |
0 commit comments