kunlang_tbox/cmake/toolchain-aarch64-musl.cmake

35 lines
1.2 KiB
CMake
Raw Normal View History

2025-12-11 09:08:35 +08:00
# ===== 目标平台 =====
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
# ===== 工具链路径 =====
set(TOOLCHAIN_DIR $ENV{HOME}/aarch64_env/toolchain)
if(NOT EXISTS "${TOOLCHAIN_DIR}")
message(FATAL_ERROR "TOOLCHAIN_DIR not found: ${TOOLCHAIN_DIR}")
endif()
# ===== sysroot =====
set(CMAKE_SYSROOT ${TOOLCHAIN_DIR}/aarch64-linux-musl)
# ===== 编译器 =====
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-musl-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-musl-g++)
# ===== binutils强烈推荐=====
set(CMAKE_AR ${TOOLCHAIN_DIR}/bin/aarch64-linux-musl-ar)
set(CMAKE_NM ${TOOLCHAIN_DIR}/bin/aarch64-linux-musl-nm)
set(CMAKE_RANLIB ${TOOLCHAIN_DIR}/bin/aarch64-linux-musl-ranlib)
set(CMAKE_STRIP ${TOOLCHAIN_DIR}/bin/aarch64-linux-musl-strip)
# ===== 静态链接 =====
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
set(BUILD_SHARED_LIBS OFF)
# ===== 查找规则(防止宿主污染)=====
set(CMAKE_FIND_ROOT_PATH ${CMAKE_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)