cmake_minimum_required(VERSION 3.13) # Explicitely define board set(PICO_BOARD pico_w) if(NOT DEFINED PICO_BOARD) add_definitions(-DPICO_BOARD=${PICO_BOARD}) endif() # Include pico-sdk cmake support include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake) project(Pico_I2C_Tests C CXX ASM) set(CMAKE_C_STANDARD 17) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() # Executables and sources add_executable(Pico_Master src/main_master.c ) add_executable(Pico_Slave src/main_slave.c ) # Libs add_subdirectory(lib/Pico_I2C) target_link_libraries(Pico_Master pico_stdlib Pico_I2C pico_cyw43_arch_lwip_poll ) target_link_libraries(Pico_Slave pico_stdlib Pico_I2C pico_cyw43_arch_lwip_poll ) # Includes target_include_directories(Pico_Master PUBLIC ${CMAKE_CURRENT_LIST_DIR}/src/. ) # Includes target_include_directories(Pico_Slave PUBLIC ${CMAKE_CURRENT_LIST_DIR}/src/. ) # Stdio configuration pico_enable_stdio_usb(Pico_Master 1) pico_enable_stdio_uart(Pico_Master 1) pico_enable_stdio_usb(Pico_Slave 1) pico_enable_stdio_uart(Pico_Slave 1) # Output pico_add_extra_outputs(Pico_Master) pico_add_extra_outputs(Pico_Slave) # Flash target add_custom_target(Flash_Master DEPENDS Pico_Master COMMAND picotool load -f ${PROJECT_BINARY_DIR}/Pico_Master.uf2 ) add_custom_target(Flash_Slave DEPENDS Pico_Slave COMMAND picotool load -f ${PROJECT_BINARY_DIR}/Pico_Slave.uf2 )