Skip to content

Commit dd3097e

Browse files
authored
Set CMAKE_SYSTEM_PROCESSOR for riscv64 (#46558)
1 parent 1e7a316 commit dd3097e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

scripts/toolchains/linux.cmake

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,25 @@ if(NOT _VCPKG_LINUX_TOOLCHAIN)
6565
endif()
6666
message(STATUS "Cross compiling arm64 on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
6767
endif()
68+
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "riscv64")
69+
set(CMAKE_SYSTEM_PROCESSOR riscv64 CACHE STRING "")
70+
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv64")
71+
72+
if(NOT DEFINED CMAKE_CXX_COMPILER)
73+
set(CMAKE_CXX_COMPILER "riscv64-linux-gnu-g++")
74+
endif()
75+
if(NOT DEFINED CMAKE_C_COMPILER)
76+
set(CMAKE_C_COMPILER "riscv64-linux-gnu-gcc")
77+
endif()
78+
if(NOT DEFINED CMAKE_ASM_COMPILER)
79+
set(CMAKE_ASM_COMPILER "riscv64-linux-gnu-gcc")
80+
endif()
81+
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
82+
set(CMAKE_ASM-ATT_COMPILER "riscv64-linux-gnu-as")
83+
endif()
84+
message(STATUS "Cross compiling riscv64 on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
85+
endif()
86+
6887
endif()
6988

7089
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR)

0 commit comments

Comments
 (0)