CMakeLists.txt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. # Add local folder with libs
  37. add_subdirectory(libs/foo)
  38. # Link to external lib pico_stdlib (gpio, time, etc. functions) and internal lib
  39. target_link_libraries(${PROJECT_NAME}
  40. pico_stdlib
  41. foo
  42. )
  43. # Add the standard include files to the build
  44. target_include_directories(${PROJECT_NAME} PRIVATE
  45. ${CMAKE_SOURCE_DIR}/inc
  46. ${CMAKE_CURRENT_LIST_DIR}
  47. ${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
  48. )
  49. pico_add_extra_outputs(${PROJECT_NAME})