39 lines
1.3 KiB
CMake
39 lines
1.3 KiB
CMake
IF(NOT $ENV{LINUX_ROOT} EQUAL "")
|
|
SET(CMAKE_SYSTEM_NAME Linux)
|
|
|
|
# FIXME: fix Linux toolchains to support architectures
|
|
SET(LINUX_ROOT $ENV{UE_SDKS_ROOT}/HostWin64/Linux_x64/arm-unknown-linux-gnueabihf_v5_clang-3.5.0-ld-2.23.1-glibc-2.13/toolchain)
|
|
STRING(REGEX REPLACE "\\\\" "/" LINUX_ROOT ${LINUX_ROOT})
|
|
|
|
message (STATUS "LINUX_ROOT is '${LINUX_ROOT}'")
|
|
SET(ARCHITECTURE_TRIPLE arm-unknown-linux-gnueabihf)
|
|
SET(CMAKE_SYSTEM_PROCESSOR aarch64)
|
|
|
|
SET(CMAKE_CROSSCOMPILING TRUE)
|
|
SET(CMAKE_SYSTEM_NAME Linux)
|
|
SET(CMAKE_SYSTEM_VERSION 1)
|
|
|
|
# sysroot
|
|
SET(CMAKE_SYSROOT ${LINUX_ROOT})
|
|
|
|
SET(CMAKE_LIBRARY_ARCHITECTURE ${ARCHITECTURE_TRIPLE})
|
|
|
|
# specify the cross compiler
|
|
SET(CMAKE_C_COMPILER ${CMAKE_SYSROOT}/bin/clang.exe)
|
|
SET(CMAKE_C_COMPILER_TARGET ${ARCHITECTURE_TRIPLE})
|
|
SET(CMAKE_C_FLAGS "-target ${ARCHITECTURE_TRIPLE} --sysroot ${LINUX_ROOT} ")
|
|
|
|
SET(CMAKE_CXX_COMPILER ${CMAKE_SYSROOT}/bin/clang++.exe)
|
|
SET(CMAKE_CXX_COMPILER_TARGET ${ARCHITECTURE_TRIPLE})
|
|
SET(CMAKE_CXX_FLAGS "-target ${ARCHITECTURE_TRIPLE} --sysroot ${LINUX_ROOT} ")
|
|
|
|
SET(CMAKE_FIND_ROOT_PATH ${LINUX_ROOT})
|
|
#set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) # hoping to force it to use ar
|
|
#set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
#set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
ELSE()
|
|
MESSAGE("LINUX_ROOT environment variable not defined!")
|
|
ENDIF()
|
|
|
|
|