35 lines
1.2 KiB
CMake
35 lines
1.2 KiB
CMake
|
|
# ===== 目标平台 =====
|
|||
|
|
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)
|