1set(CMAKE_SYSTEM_NAME Linux) 2set(CMAKE_SYSTEM_PROCESSOR aarch64) 3set(CMAKE_SYSTEM_VERSION 1) 4 5message(STATUS "Using cross-compile toolchain: ${CROSS_COMPILE_TOOLCHAIN}") 6 7set(CMAKE_C_COMPILER_TARGET "aarch64-linux-gnu") 8set(CMAKE_CXX_COMPILER_TARGET "aarch64-linux-gnu") 9 10set(CMAKE_CROSSCOMPILING TRUE) 11set(CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64 -L /usr/${CMAKE_C_COMPILER_TARGET}/) 12 13SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 14SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 15SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 16 17find_program(C_COMPILER_FULL_PATH ${CMAKE_C_COMPILER_TARGET}-gcc) 18if(NOT C_COMPILER_FULL_PATH) 19 message(FATAL_ERROR "Cross-compiler ${CMAKE_C_COMPILER_TARGET}-gcc not found") 20endif() 21set(CMAKE_C_COMPILER ${C_COMPILER_FULL_PATH}) 22 23find_program(CXX_COMPILER_FULL_PATH ${CMAKE_C_COMPILER_TARGET}-g++) 24if(CXX_COMPILER_FULL_PATH) 25 set(CMAKE_CXX_COMPILER ${CXX_COMPILER_FULL_PATH}) 26endif() 27