CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. )
  24. # Example include
  25. target_include_directories(${PROJECT} PUBLIC
  26. ${CMAKE_CURRENT_SOURCE_DIR}/src
  27. )
  28. # Example defines
  29. target_compile_definitions(${PROJECT} PUBLIC
  30. CFG_TUSB_OS=OPT_OS_PICO
  31. )
  32. target_link_libraries(${PROJECT} pico_stdlib pico_fix_rp2040_usb_device_enumeration)
  33. pico_add_extra_outputs(${PROJECT})
  34. else()
  35. message(FATAL_ERROR "Invalid FAMILY specified")
  36. endif()