CMakeLists.txt 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. cmake_minimum_required(VERSION 3.5)
  2. include(${CMAKE_CURRENT_SOURCE_DIR}/pico-sdk/lib/tinyusb/hw/bsp/family_support.cmake)
  3. # gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>)
  4. family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
  5. project(${PROJECT})
  6. # Checks this example is valid for the family and initializes the project
  7. family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR})
  8. add_executable(${PROJECT})
  9. # Example source
  10. target_sources(${PROJECT} PUBLIC
  11. ${CMAKE_CURRENT_SOURCE_DIR}/src/password_safe.c
  12. ${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
  13. ${CMAKE_CURRENT_SOURCE_DIR}/src/ui.c
  14. ${CMAKE_CURRENT_SOURCE_DIR}/src/display.c
  15. ${CMAKE_CURRENT_SOURCE_DIR}/src/font_twisted.c
  16. ${CMAKE_CURRENT_SOURCE_DIR}/src/msc_disk.c
  17. ${CMAKE_CURRENT_SOURCE_DIR}/src/cryptoengine.c
  18. ${CMAKE_CURRENT_SOURCE_DIR}/src/cdc-protocol.c
  19. ${CMAKE_CURRENT_SOURCE_DIR}/src/fsm.c
  20. ${CMAKE_CURRENT_SOURCE_DIR}/src/flash.c
  21. ${CMAKE_CURRENT_SOURCE_DIR}/src/hid.c
  22. ${CMAKE_CURRENT_SOURCE_DIR}/src/disk0.c
  23. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/wc_port.c
  24. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/wolfmath.c
  25. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/hash.c
  26. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/memory.c
  27. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/misc.c
  28. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/ecc.c
  29. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/curve25519.c
  30. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/pwdbased.c
  31. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/hmac.c
  32. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/chacha.c
  33. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/sha.c
  34. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/sha256.c
  35. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/sha512.c
  36. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/ge_low_mem.c
  37. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/fe_low_mem.c
  38. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/ge_operations.c
  39. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/sp_int.c
  40. #${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/sp_armthumb.c
  41. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl/wolfcrypt/src/sp_c32.c
  42. )
  43. # Example include
  44. target_include_directories(${PROJECT} PUBLIC
  45. ${CMAKE_CURRENT_SOURCE_DIR}/src
  46. ${CMAKE_CURRENT_SOURCE_DIR}/lib/wolfssl
  47. )
  48. target_compile_definitions( ${PROJECT} PUBLIC WOLFSSL_USER_SETTINGS)
  49. target_link_libraries(${PROJECT} PUBLIC pico_stdlib)
  50. target_link_libraries(${PROJECT} PUBLIC pico_multicore)
  51. # Configure compilation flags and libraries for the example... see the corresponding function
  52. # in hw/bsp/FAMILY/family.cmake for details.
  53. family_configure_device_example(${PROJECT})