Pico_I2C_Tests/CMakeLists.txt

73 lines
1.4 KiB
CMake

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
)