board_setup.cmake 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. # PICO_CMAKE_CONFIG: PICO_BOARD, The board name being built for. This is overridable from the user environment, type=string, default=rp2040, group=build
  2. if (DEFINED ENV{PICO_BOARD})
  3. set(PICO_BOARD $ENV{PICO_BOARD})
  4. message("Using PICO_BOARD from environment ('${PICO_BOARD}')")
  5. else()
  6. if (NOT PICO_BOARD)
  7. set(PICO_BOARD "pico")
  8. pico_message("Defaulting PICO target board to ${PICO_BOARD} since not specified.")
  9. else()
  10. message("PICO target board is ${PICO_BOARD}.")
  11. endif()
  12. endif()
  13. set(PICO_BOARD ${PICO_BOARD} CACHE STRING "PICO target board (e.g. pico)")
  14. # PICO_CMAKE_CONFIG: PICO_BOARD_CMAKE_DIRS, Directors to look for <PICO_BOARD>.cmake in. This is overridable from the user environment, type=list, default="", group=build
  15. if (DEFINED ENV{PICO_BOARD_CMAKE_DIRS})
  16. set(PICO_BOARD_CMAKE_DIRS $ENV{PICO_BOARD_CMAKE_DIRS})
  17. message("Using PICO_BOARD_CMAKE_DIRS from environment ('${PICO_BOARD_CMAKE_DIRS}')")
  18. endif()
  19. list(APPEND PICO_BOARD_CMAKE_DIRS ${CMAKE_CURRENT_LIST_DIR}/boards)
  20. pico_find_in_paths(PICO_BOARD_CMAKE_FILE PICO_BOARD_CMAKE_DIRS ${PICO_BOARD}.cmake)
  21. if (EXISTS "${PICO_BOARD_CMAKE_FILE}")
  22. message("Using CMake board configuration from ${PICO_BOARD_CMAKE_FILE}")
  23. include(${PICO_BOARD_CMAKE_FILE} board_config)
  24. else()
  25. include(boards/generic_board.cmake)
  26. endif()
  27. list(APPEND PICO_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/boards/include) # so boards/foo.h can be explicitly included