CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # use directory name for project id
  2. get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
  3. set(PROJECT ${BOARD}-${PROJECT})
  4. # TOP is absolute path to root directory of TinyUSB git repo
  5. set(TOP "../../..")
  6. get_filename_component(TOP "${TOP}" REALPATH)
  7. # Check for -DFAMILY=
  8. if(FAMILY STREQUAL "esp32s2")
  9. cmake_minimum_required(VERSION 3.5)
  10. include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
  11. project(${PROJECT})
  12. elseif(FAMILY STREQUAL "rp2040")
  13. cmake_minimum_required(VERSION 3.12)
  14. set(PICO_SDK_PATH ${TOP}/hw/mcu/raspberrypi/pico-sdk)
  15. include(${PICO_SDK_PATH}/pico_sdk_init.cmake)
  16. project(${PROJECT})
  17. pico_sdk_init()
  18. add_executable(${PROJECT})
  19. include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
  20. # Example source
  21. target_sources(${PROJECT} PUBLIC
  22. ${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
  23. ${CMAKE_CURRENT_SOURCE_DIR}/src/msc_disk.c
  24. ${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
  25. )
  26. # Example include
  27. target_include_directories(${PROJECT} PUBLIC
  28. ${CMAKE_CURRENT_SOURCE_DIR}/src
  29. )
  30. # Example defines
  31. target_compile_definitions(${PROJECT} PUBLIC
  32. CFG_TUSB_OS=OPT_OS_PICO
  33. )
  34. target_link_libraries(${PROJECT} pico_stdlib pico_fix_rp2040_usb_device_enumeration)
  35. pico_add_extra_outputs(${PROJECT})
  36. else()
  37. message(FATAL_ERROR "Invalid FAMILY specified")
  38. endif()