kopia lustrzana https://github.com/maxnet/pico-webserver
32 wiersze
1.2 KiB
CMake
32 wiersze
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.13)
|
|
|
|
# We prefer to have all linked submodules at toplevel
|
|
set(PICO_TINYUSB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/tinyusb)
|
|
|
|
include(pico-sdk/pico_sdk_init.cmake)
|
|
project(pico_webserver)
|
|
pico_sdk_init()
|
|
|
|
# LWIP
|
|
set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lwip)
|
|
set (LWIP_INCLUDE_DIRS
|
|
"${LWIP_DIR}/src/include"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
|
)
|
|
include(${LWIP_DIR}/src/Filelists.cmake)
|
|
|
|
# Extra stuff from TinyUSB, that is not part of tinyusb_device library
|
|
set(TINYUSB_LIBNETWORKING_SOURCES
|
|
${PICO_TINYUSB_PATH}/lib/networking/dhserver.c
|
|
${PICO_TINYUSB_PATH}/lib/networking/rndis_reports.c
|
|
)
|
|
|
|
add_executable(${PROJECT_NAME} webserver.c tusb_lwip_glue.c usb_descriptors.c ${TINYUSB_LIBNETWORKING_SOURCES})
|
|
|
|
pico_enable_stdio_usb(${PROJECT_NAME} 0)
|
|
pico_enable_stdio_uart(${PROJECT_NAME} 0)
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${LWIP_INCLUDE_DIRS} ${PICO_TINYUSB_PATH}/src ${PICO_TINYUSB_PATH}/lib/networking)
|
|
target_link_libraries(${PROJECT_NAME} pico_stdlib pico_unique_id tinyusb_device lwipallapps lwipcore)
|
|
pico_add_extra_outputs(${PROJECT_NAME})
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE PICO_ENTER_USB_BOOT_ON_EXIT=1)
|