CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Generated Cmake Pico project file
  2. cmake_minimum_required(VERSION 3.13)
  3. set(CMAKE_C_STANDARD 11)
  4. set(CMAKE_CXX_STANDARD 17)
  5. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  6. # Initialise pico_sdk from installed location
  7. # (note this can come from environment, CMake cache etc)
  8. # == DO NEVER EDIT THE NEXT LINES for Raspberry Pi Pico VS Code Extension to work ==
  9. if(WIN32)
  10. set(USERHOME $ENV{USERPROFILE})
  11. else()
  12. set(USERHOME $ENV{HOME})
  13. endif()
  14. set(sdkVersion 2.0.0)
  15. set(toolchainVersion 13_2_Rel1)
  16. set(picotoolVersion 2.0.0)
  17. set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
  18. if (EXISTS ${picoVscode})
  19. include(${picoVscode})
  20. endif()
  21. # ====================================================================================
  22. set(PICO_BOARD pico CACHE STRING "Board type")
  23. # Pull in Raspberry Pi Pico SDK (must be before project)
  24. include(pico_sdk_import.cmake)
  25. project(blink C CXX ASM)
  26. # Initialise the Raspberry Pi Pico SDK
  27. pico_sdk_init()
  28. # Tell CMake where to find the executable source file
  29. # Add executable. Default name is the project name, version 0.1
  30. add_executable(${PROJECT_NAME} src/main.cpp )
  31. pico_set_program_name(${PROJECT_NAME} "blink")
  32. pico_set_program_version(${PROJECT_NAME} "0.1")
  33. # Modify the below lines to enable/disable output over UART/USB
  34. pico_enable_stdio_usb(${PROJECT_NAME} 1)
  35. pico_enable_stdio_uart(${PROJECT_NAME} 1)
  36. # Create map/bin/hex/uf2 files
  37. pico_add_extra_outputs(${PROJECT_NAME})
  38. # Add local folder with libs
  39. add_subdirectory(libs/foo)
  40. # Add the standard include files to the build
  41. target_include_directories(${PROJECT_NAME} PRIVATE
  42. ${CMAKE_SOURCE_DIR}/inc
  43. ${CMAKE_CURRENT_LIST_DIR}
  44. ${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
  45. )
  46. # Link to external lib pico_stdlib (gpio, time, etc. functions) and internal lib
  47. target_link_libraries(${PROJECT_NAME}
  48. pico_stdlib
  49. foo
  50. )