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 "")