CMakeLists.txt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 "rp2040")
  9. cmake_minimum_required(VERSION 3.12)
  10. set(PICO_SDK_PATH ${TOP}/hw/mcu/raspberrypi/pico-sdk)
  11. include(${PICO_SDK_PATH}/pico_sdk_init.cmake)
  12. project(${PROJECT})
  13. pico_sdk_init()
  14. add_executable(${PROJECT})
  15. include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
  16. # Example source
  17. target_sources(${PROJECT} PUBLIC
  18. ${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
  19. ${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
  20. )
  21. # Example include
  22. target_include_directories(${PROJECT} PUBLIC
  23. ${CMAKE_CURRENT_SOURCE_DIR}/src
  24. )
  25. # Example defines
  26. target_compile_definitions(${PROJECT} PUBLIC
  27. CFG_TUSB_OS=OPT_OS_PICO
  28. )
  29. target_link_libraries(${PROJECT} pico_stdlib pico_fix_rp2040_usb_device_enumeration)
  30. pico_add_extra_outputs(${PROJECT})
  31. else()
  32. message(FATAL_ERROR "Invalid FAMILY specified")
  33. endif()