工具链路径自适应

This commit is contained in:
kirl committed 2026-07-27 20:14:07 +08:00
1 parent a1cbf4a3c3
commit a41b1ed836
3 files changed
+51 -3

No files matched your search

+14 -1
View File
@@ -5,7 +5,20 @@ set(CMAKE_SYSTEM_PROCESSOR arm)
# Skip linker test for bare-metal (avoids _exit/_sbrk etc.)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
set(ARM_TOOLCHAIN_DIR "C:/Program Files/Arm/GNU Toolchain mingw-w64-x86_64-arm-none-eabi")
# 路径检测:环境变量 → PATH
set(ARM_TOOLCHAIN_DIR "$ENV{ARM_GCC_ROOT}" CACHE PATH "ARM GCC toolchain root")
if(NOT ARM_TOOLCHAIN_DIR OR NOT EXISTS "${ARM_TOOLCHAIN_DIR}/bin/arm-none-eabi-gcc${CMAKE_EXECUTABLE_SUFFIX}")
find_program(_GCC arm-none-eabi-gcc)
if(_GCC)
get_filename_component(_BIN ${_GCC} DIRECTORY)
get_filename_component(ARM_TOOLCHAIN_DIR ${_BIN} DIRECTORY)
endif()
endif()
if(NOT ARM_TOOLCHAIN_DIR)
message(FATAL_ERROR "ARM GCC not found. Install or set ARM_GCC_ROOT env var.")
endif()
set(CMAKE_C_COMPILER "${ARM_TOOLCHAIN_DIR}/bin/arm-none-eabi-gcc.exe")
set(CMAKE_CXX_COMPILER "${ARM_TOOLCHAIN_DIR}/bin/arm-none-eabi-g++.exe")