# Cross-compile for aarch64 Linux (Steam Frame) from an x86_64 Debian multiarch environment. # Used by the "cross-arm64" preset inside docker/cross-arm64.Dockerfile; see scripts/cross-build.sh. set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) # Debian multiarch: target libraries live in /usr/lib/aarch64-linux-gnu; headers are shared. set(CMAKE_LIBRARY_ARCHITECTURE aarch64-linux-gnu) set(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) set(ENV{PKG_CONFIG_LIBDIR} /usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig) # Qt 6 cross builds need a host Qt for its code generators (moc, rcc, qmlcachegen, …). set(QT_HOST_PATH /usr CACHE PATH "Host Qt prefix") set(QT_HOST_PATH_CMAKE_DIR /usr/lib/x86_64-linux-gnu/cmake CACHE PATH "Host Qt CMake dir") set(CMAKE_PREFIX_PATH /usr/lib/aarch64-linux-gnu/cmake) # Lets CMake/Qt deploy tooling inspect target binaries. set(CMAKE_OBJDUMP aarch64-linux-gnu-objdump)