From f1edccc13da39fc5e6730d0c96ee800376e06bba Mon Sep 17 00:00:00 2001 From: yelvlab Date: Tue, 24 Mar 2026 23:33:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(CMAKE):=E4=BF=AE=E6=94=B9toolchain=E5=88=B0?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=86=85,=E9=81=BF=E5=85=8D=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E8=B7=AF=E5=BE=84=E4=BD=93=E7=A7=AF=E8=BF=87=E5=A4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmake/arm-none-eabi-gcc.cmake | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/cmake/arm-none-eabi-gcc.cmake b/cmake/arm-none-eabi-gcc.cmake index e8ef9c9..1860b4b 100644 --- a/cmake/arm-none-eabi-gcc.cmake +++ b/cmake/arm-none-eabi-gcc.cmake @@ -1,5 +1,23 @@ # You can change TOOLCHAIN_DIRECTORY if you want to use different toolchain. -set(TOOLCHAIN_DIRECTORY "${CMAKE_SOURCE_DIR}/Toolchain/xpack-arm-none-eabi-gcc-11.3.1-1.1/bin") +# set(TOOLCHAIN_DIRECTORY "${CMAKE_SOURCE_DIR}/Toolchain/xpack-arm-none-eabi-gcc-11.3.1-1.1/bin") +set(TOOLCHAIN_DIRECTORY "" CACHE PATH "Path to arm-none-eabi toolchain bin directory") + +if(NOT TOOLCHAIN_DIRECTORY) + # Add extra auto-detect paths in this list when using another machine. + # Example: "C:/your/path/xpack-arm-none-eabi-gcc-11.3.1-1.1/bin" + set(_TOOLCHAIN_CANDIDATES + "D:/toolchain/xpack-arm-none-eabi-gcc-11.3.1-1.1/bin" + "C:/toolchain/xpack-arm-none-eabi-gcc-11.3.1-1.1/bin" + "${CMAKE_SOURCE_DIR}/Toolchain/xpack-arm-none-eabi-gcc-11.3.1-1.1/bin" + ) + + foreach(_candidate IN LISTS _TOOLCHAIN_CANDIDATES) + if(EXISTS "${_candidate}/arm-none-eabi-gcc.exe" OR EXISTS "${_candidate}/arm-none-eabi-gcc") + set(TOOLCHAIN_DIRECTORY "${_candidate}") + break() + endif() + endforeach() +endif() set(CMAKE_C_FLAGS_DEBUG "") set(CMAKE_CXX_FLAGS_DEBUG "")