FindAVRToolchain.cmake 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. macro(find_gcc TRIPLE)
  2. if(UNIX)
  3. set(OS_SUFFIX "")
  4. find_path(AVR_TOOLCHAIN_ROOT
  5. NAMES
  6. ${TRIPLE}-gcc${OS_SUFFIX}
  7. PATHS
  8. "${CMAKE_SOURCE_DIR}/toolchains/avr-gcc/avr-gcc-12.1.0-x64-linux/bin/"
  9. /usr/bin/
  10. /usr/local/bin
  11. /bin/
  12. $ENV{AVR_ROOT}
  13. )
  14. find_path(MAKE_ROOT
  15. NAMES
  16. make${OS_SUFFIX}
  17. PATHS
  18. "${CMAKE_SOURCE_DIR}/toolchains/avr-gcc-12.1.0-x64-linux/bin/"
  19. /usr/bin/
  20. /usr/local/bin
  21. /bin/
  22. $ENV{AVR_ROOT}
  23. )
  24. elseif(WIN32)
  25. set(OS_SUFFIX ".exe")
  26. find_path(AVR_TOOLCHAIN_ROOT
  27. NAMES
  28. ${TRIPLE}-gcc${OS_SUFFIX}
  29. PATHS
  30. "${CMAKE_SOURCE_DIR}/toolchains/avr-gcc-12.1.0-x64-windows/bin"
  31. "C:/Users/Jack/Downloads/avr-gcc-12.1.0-x64-windows/bin/"
  32. $ENV{AVR_ROOT}
  33. )
  34. find_path(MAKE_ROOT
  35. NAMES
  36. make${OS_SUFFIX}
  37. PATHS
  38. "${CMAKE_SOURCE_DIR}/toolchains/avr-gcc-12.1.0-x64-windows/bin/"
  39. "C:/Users/Jack/Downloads/avr-gcc-12.1.0-x64-windows/bin/"
  40. $ENV{AVR_ROOT}
  41. )
  42. else(UNIX)
  43. message(FATAL_ERROR "toolchain not supported on this OS")
  44. endif(UNIX)
  45. endmacro(find_gcc)
  46. macro(find_avr_toolchain)
  47. find_gcc(avr)
  48. if(NOT AVR_TOOLCHAIN_ROOT)
  49. include(GetAVRToolchain)
  50. find_gcc(avr)
  51. endif()
  52. if(NOT AVR_TOOLCHAIN_ROOT)
  53. message(FATAL_ERROR "AVR Toolchain could not be found")
  54. endif()
  55. set(TOOLCHAIN_ROOT ${AVR_TOOLCHAIN_ROOT})
  56. message(STATUS "AVR toolchain found: ${AVR_TOOLCHAIN_ROOT}")
  57. message(STATUS "Found make: ${MAKE_ROOT}")
  58. endmacro()