diff options
Diffstat (limited to 'neozip/cmake/toolchain-loongarch64-gcc.cmake')
| -rw-r--r-- | neozip/cmake/toolchain-loongarch64-gcc.cmake | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/neozip/cmake/toolchain-loongarch64-gcc.cmake b/neozip/cmake/toolchain-loongarch64-gcc.cmake new file mode 100644 index 0000000000..7e10c701b7 --- /dev/null +++ b/neozip/cmake/toolchain-loongarch64-gcc.cmake @@ -0,0 +1,28 @@ +# Export configurable variables for the try_compile() command. +set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES COMPILER_SUFFIX) + +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR loongarch64) +set(CMAKE_SYSTEM_VERSION 1) + +set(CMAKE_C_COMPILER_TARGET loongarch64-linux-gnu) +set(CMAKE_CXX_COMPILER_TARGET loongarch64-linux-gnu) + +set(CMAKE_CROSSCOMPILING TRUE) +set(CMAKE_CROSSCOMPILING_EMULATOR qemu-loongarch64 -cpu la464-loongarch-cpu -L /usr/${CMAKE_C_COMPILER_TARGET}/) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +find_program(C_COMPILER_FULL_PATH NAMES ${CMAKE_C_COMPILER_TARGET}-gcc${COMPILER_SUFFIX}) +if(NOT C_COMPILER_FULL_PATH) + message(FATAL_ERROR "Cross-compiler for ${CMAKE_C_COMPILER_TARGET} not found") +endif() +set(CMAKE_C_COMPILER ${C_COMPILER_FULL_PATH}) + +find_program(CXX_COMPILER_FULL_PATH NAMES g++${COMPILER_SUFFIX}-${CMAKE_CXX_COMPILER_TARGET} ${CMAKE_CXX_COMPILER_TARGET}-g++${COMPILER_SUFFIX}) +if(CXX_COMPILER_FULL_PATH) + set(CMAKE_CXX_COMPILER ${CXX_COMPILER_FULL_PATH}) +endif() |
