-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaarch64-linux-gnu.cmake.example
More file actions
28 lines (23 loc) · 1 KB
/
Copy pathaarch64-linux-gnu.cmake.example
File metadata and controls
28 lines (23 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Example CMake toolchain: build on Linux x86_64 (or any host with the
# aarch64-linux-gnu cross compiler) for target aarch64-linux-gnu.
#
# Usage:
# cmake -S . -B build_cross -G Ninja \
# -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/aarch64-linux-gnu.cmake \
# -DCMAKE_PREFIX_PATH=/path/to/aarch64/sysroot/usr
#
# Copy to aarch64-linux-gnu.cmake and adjust paths for your distro.
# See docs/tutorials/modern-cpp-tooling-arm-intel.md
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++)
# Optional: explicit sysroot if not using multiarch defaults
# set(CMAKE_SYSROOT /path/to/sysroot)
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)
# Conservative portable AArch64 baseline (override as needed)
set(CMAKE_C_FLAGS_INIT "-march=armv8-a")
set(CMAKE_CXX_FLAGS_INIT "-march=armv8-a")